• ベストアンサー

エクセルについてです

エクセルのワークシートに小遣い帳(程度の帳簿)を作っています。 日付順に並んでいますが、任意の項目、たとえば「マンガ代」の行だけを 他の場所に並べて表示出来ますか。 集計ではなく、ただ同じ項目を集めて、一覧したいのです。 分る方、ぜひお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.5

丁寧に作成していけば、普段使いの関数だけでも十分結果を出せます。 添付図: A2に =C2&TEXT(COUNTIF($C$2:C2,C2),"-000;;;") と記入、以下沢山コピー G1に一覧したい項目を記入する事として F3に =IF(ROW(F1)>COUNTIF(C:C,$G$1),"",ROW(F1)) 下向けにほどほどコピー G3に =IF($F3="","",VLOOKUP($G$1&TEXT($F3,"-000"),$A:$D,COLUMN(B3),FALSE)) 右に下にコピーして完成。 検索キーのA列は、邪魔ならA列を「隠す」などしておいてください。 作業列を使わない数式も、まぁやれば出来る方法は幾つかありますが、ご相談のような用途ではすぐにシートが超重たくなってしまって、しっかり調整して使わないと現実には使い物になりませんので注意してください。

takatuka
質問者

お礼

ありがとうございました。 理解するのに苦労しましたが、 何とか出来ました。(理解は七割くらいです。) 丁寧なご指導に感謝いたします。 継続的ご指導をお願いしたいくらいです。 また機会がありましたら、よろしく お願いします。

その他の回答 (4)

回答No.4

No.2 です。一つ、大事なことを言い忘れました。 数式を使っている表で実行する並べ替えには、注意が必要です。横方向のみに参照している数式なら問題ないのですが、縦方向に参照している(表中の他の行から参照している)のにいきなり並べ替えると、計算結果にエラーが発生したりします。小遣い帳ということは、縦にも参照している可能性が高そうですね。 ただし元の順序に戻せば、計算結果も正しくなります。 リボンの並べ替えボタンから実行する場合でも、オートフィルタにより並べ替える場合でも、どちらでも同様になります。 そのようなデータを並べ替えるには、事前に表を別の場所に値複写し(*)、貼り付けた表において並べ替えてください。 * 表をコピーし、「形式を選択して貼り付け」ダイアログ(Ctrl+Alt+V)で「値」を指定して貼り付け なおオートフィルタで、並べ替えではなく指定の値のみに絞り込んだというだけでは、エラーにはなりません。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>日付順に並んでいますが、任意の項目、たとえば「マンガ代」の行だけを他の場所に並べて表示出来ますか。 出来ます。 >集計ではなく、ただ同じ項目を集めて、一覧したいのです。 IF関数、INDEX関数、SMALL関数等を組み合わせて抽出できます。 支出金額の列 =IFERROR(INDEX(D:D,SMALL(IF(B:B="マンガ代",ROW(B$1:B$1000),""),ROWS(B$2:B2)),0),"") この関数式は配列値を扱うので計算式を入力してCtrl+Shift+Enterで確定します。 日付の列 =IFERROR(INDEX(A:A,SMALL(IF(B:B="マンガ代",ROW(B$1:B$1000),""),ROWS(B$2:B2)),0),"") この関数式も同様にCtrl+Shift+Enterで確定します。 Excel 2013での参考画像を添付します。 Excel 2007/2010でも同じことができます。

takatuka
質問者

お礼

ありがとうございます。 みなさんすごいですね。 理解に時間がかかりますので、 しばらく放置をお許しください。 いやー 感謝と感激の 還暦世代です。

回答No.2

No.1 さんのおっしゃっているオートフィルタや並べ替えが簡単かつ実用的で、使用頻度が高いので、お勧めです。 並べ替えでは、日付、通し番号などの列を設けておけば、いつでも元どおりの順番に戻すことができます。 またオートフィルタでは、「指定の値を含む」などのオプションが使えるので、まずまず融通が効きます。オートフィルタをより使いやすくするために、フラグの列を用意して、そこに必要な値を数式などで作製しておくというケースも多々あります。 一応、関係のない位置のセル範囲に SMALL、ROW 関数による配列と INDEX、OFFSET、VLOOKUP 関数などを組み合わせた数式を記入して抽出するという方法も、なくはないです。しかし難解なので、特にお勧めではありません。 この他、マクロにより、指定の値を含むレコード(行)をどこかのセル範囲に書き出していくという方法もあります。この方法のほうが上の難しい数式よりも、Excel の使い方としては真っ当です。この程度の処理ならそれほど難しくはないので、ご希望があるようなら別途、説明します。

takatuka
質問者

お礼

ありがとうございます。 すでに十分な回答をいただいているようですが、 理解能力の関係で少し、放置させてください。 無理かもしれませんが、教わりきれるか考えます。 NO4も、同様に感謝申し上げます。

  • angkor_h
  • ベストアンサー率35% (551/1557)
回答No.1

そのような関数は用意されていないと思います。 一手間かかりますが、  オートフイルターでそれだけを表示してコピーする、  或いは、「並べ替え」でも。 これが一番簡単では無いでしょうか?

takatuka
質問者

お礼

ありがとうございます さっそくのお答に感謝いたします。 少し残念ですが、お教えの方法で取り組んでみます。

関連するQ&A

  • エクセルで集計

    エクセルで集計 シート1:A列に日付2000行程度、B列に品名A,B,C,D…500種類程度、C列にその内容。日毎に行は増えていきま、同じ品名が何度も登場してきます。 シート2:ここに新しくシート1の集計をして、同じ品名の多い順に並べ替えてリストを作成したいと思います。 シート1に新しく行が増えると同時にシート2の集計に反映させたいのですが、いい方法はありますか?

  • エクセルの集計について

    エクセルについて質問です。 日付ごとに各項目1~100に数字が入っている一覧表があります。 各項目数個ずつを日付ごとに集計したい場合よい方法はありますでしょうか? 例 項   4/1   4/2   4/3   4/4   4/5 目 (1)   10    10     20   15    10 (2)    4     3     1     7      6 (3)   11    12     13    14     15 ・ ・ ・ 4/1の項目1、10、50を集計したい。など。 よろしくお願い致します。

  • エクセル2007の使い方について

    エクセル2007を使用しています。項目ごとに集計できる演算式を入れ、必要な都度、行を挿入して使っていました。ところが、急に「データの流失を防ぐため、空白でないセルをワークシートの外に移動することはできません。新しいセルを挿入する別の場所を選択するか、ワークシートの末尾からデータを削除してください。」というメッセージが出て、挿入ができなくなってしまいました。 なんのことやら意味がわかりません。解決方法を教えてください。

  • csvのデーターファイルから任意の行をエクセルファイルへ入力するエクセ

    csvのデーターファイルから任意の行をエクセルファイルへ入力するエクセルVBA が上手くできません。 6列2000行のcsvデーターのテキストファイルの作成は、色々な参考書があり成功しました。次に このcsvのデーターファイルから任意の複数行をシート4などの任意のワークシートの任意の場所に60行程度をインポートして、この60行の数値データーを加工しようとしていますが、入力が上手くできません。数値データーの加工のプログラムは一応できているため、その様式にあわせて、所定の場所にデーターを入れる必要が有ります。 1列目には日付(シリアルの数値にしています)、その他はすべて数値(LONG型)です。エクセルは2003を使用しています。 VBAの初心者です。宜しくお願いいたします。

  • Excel データの取り纏め

    Excelファイルが10個あります。 それぞれシートが1~20シート。 行の項目は順に「No」「日付」「ID」「名前」・・・ 入力行はシートによりマチマチです。(1件~100件くらい) これを一括で1シートにまとめたいのですが、簡単な方法を教えてください。 また、毎週繰り返しの作業で前回まとめたデータは残し、次の行から追加したいです。 Excel詳しい方、アドバイスお願いします。

  • エクセル

    日毎に集計を出したいのですが、どのようにしたらよろしいでしょうか? エクセルです シート1 A列 名前 行日付 それぞれ日付ごとに数字が入ってます シート2 に 日付と名前が一致した場合に値を出したいです 合計ではなく 各人の数字です

  • エクセルでの値の自動代入

    エクセルでワークシートのセルからでもユーザーフォームからでもいいのですが、違うワークシート上の表(列が項目、行が日付)の当日日付のセルにマクロで作ったボタンを押すと値が挿入されるような方法はありますか? アクセスで値の代入のようにできればいいのですが。 マクロでもVBAでもいいのですが、できる方法はあるでしょうか?

  • あるエクセルシートにA行に顧客名、B行に売上が日付順に羅列されているの

    あるエクセルシートにA行に顧客名、B行に売上が日付順に羅列されているのですが、ある特定の顧客だけの売り上げのみを指定の日付の範囲で集計したい場合の手段についてお教え下さい。どのような手段があるでしょうか? よろしくお願い申し上げます。

  • エクセルの3D集計を教えてください。

    エクセルの3D集計って何ですか? 複数のワークシートの同じセルに、同じ項目の表がある場合に使う集計方法 っていうことはわかっているんですけどもっと詳しく丁寧に教えてください。

  • Wordで「Excelの改ページ」と同じ機能はありますか?

    いつもお世話になっております。 Word初級程度のレベル為 こちらで検索していろいろ試してみましたが 上手く出来ませんでした。 宜しくお願いいたします。 Wordで表を作成。1行目に5列項目を入力 2行目から日付順(不定期)に行が増える表を作成しています。 そのまま行が増えると2ページ目には日付順の行が1行目になってしまいます。 そこで、2ページ目にも1ページ目の1行目の項目が自動で入り 2行目から日付順(不定期)に行が増える様にしたいのですが・・・ Excelでは「改ページ」機能を使っていますが Wordで同じ様な機能はないでしょうか?

専門家に質問してみよう