- 締切済み
エクセルで比較表を作成するため・・・
エクセルで、「前月」「今月」「昨年同月」と、毎月出来高数量を1Sheet内に並べて比較対照表を作成しています。 毎月、データを手入力しているのですが、関数を使用して手間を短縮したいのです。 参考書籍を探してみましたが、どれだか分からずこちらで相談させていただきます。 【データ例】(空白)はデータがありません。 Sheet:(2006年12月) A B C D 1 (2006年11月) (2006年12月) 2 品名 数量 品名 数量 3 あああ 1000 あああ 1100 4 いいい 900 いいい 1000 5 ううう 1100 ううう 1000 6 えええ 500 えええ (空白) 7 おおお 1200 おおお 1500 8 かかか (空白) かかか 500 8 ききき 200 ききき (空白) クエリデータ(別Book,Sheet) (2007年1月) A B 1 品名 数量 2 いいい 880 3 ううう 1000 4 おおお 1500 5 かかか 700 6 ききき 300 7 くくく 1100 ***「2006年12月」の横(セルE)に、「2007年1月」のデータが、品名が揃うようにリンク?させたいのです。 (1) 元となるデータは、Accsessのクエリをエクセルにエクスポートしたものを使用します。 (2) 先月作成した表を基準に、隣にデータを作成していき、前々月は「非表示」しています。 『問題点』毎月、項目が異なり、同じ列に揃えていくのが大変です。 何かいい方法があれば、お願いいたします。 また、参考になるHPや書籍等ありましたらあわせてお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
それなら、例えばさらに別のシート(仮にSheet3とします)に A B C D 1 あああ 2 いいい 3 ううう 4 えええ 5 おおお 6 かかか 7 ききき 8 くくく 9 けけけ 10 こここ という表を作っておき、クエリデータを例えばSheet2のA1:B10に毎月貼り付けることを前提にして、 B1のセルに =IF(ISERROR(VLOOKUP(A1, Sheet2!A1:B10, 2, FALSE)),"",VLOOKUP(A1,Sheet2!A1:B10, 2, FALSE)) の式を入力し、これをB2~B10にコピーすれば、該当する品名のところにクエリデータから数量を読み込んできます。このSheet3のA1:B10をコピーし、作成するSheetの、入力したいところに「形式を選択して貼り付け」で「値」を選択して張り付ければ、毎月同じフォーマットで入力できると思います。 それにしても、 >次月を追加したときに、「前々月」(例で言えば2006年11月)を「非表示」にして保存しています。 で、なんで品名まで非表示にする必要があるんでしょうか。数量だけ非表示にすれば目的は達せられると思いますけど。自分でわざわざ難しくしているようにしか思えません。Excelの機能を理解して表の形式を考えないと、いたずらに面倒になるだけだと思います。
>毎月、項目が異なり、同じ列に揃えていくのが大変です。 の「項目」というのがどういう意味かわかりません。月ごとに品名を入れるようなので、品名のことではないようですが、仮に品名の行を固定するという意味なら、現在ある表を作り直すことになりますが、ピボットテーブルを使うのが現実的だと思います。 A列:品名 B列:数量 C列:年月 となる一覧表をつくり、ピボットテーブルで行に品名を、列に年月を、データに数量を指定すれば、 A B C D 1 (2006年11月)(2006年12月)(2007年1月) 3 あああ 1000 1100 (空白) 4 いいい 900 1000 880 5 ううう 1100 1000 1000 6 えええ 500 (空白) (空白) 7 おおお 1200 1500 1500 8 かかか (空白) 500 700 8 ききき 200 (空白) 300 9 くくく (空白) (空白) 1100 といった形式の表になります。質問の表形式とは異なりますが、こういう形式でよいのであれば、この機能を使ってみてください。 ピボットテーブルは本来は集計するための機能ですが、集計するデータがたまたま全部一個づつある状況ということになります。 ピボットテーブルの使い方はヘルプを参照してください。
補足
早速の回答ありがとうございます。 説明が分かりづらくてすみません。 >>毎月、項目が異なり、同じ列に揃えていくのが大変です。 >の「項目」というのがどういう意味かわかりません。 --「品名」のことです。 (Sheet:2006年12月)のように、毎月常に「品名」は出しておきたいのです。次月を追加したときに、「前々月」(例で言えば2006年11月)を「非表示」にして保存しています。 元のSheetのレイアウトは変えずに(行の追加はOK)新たなデータを並べていきたいのです。
Accessからのデータを下記の様にエクスポートします。 A B C 1 品名 数量 年月 2 いいい 880 2006/12/1 3 ううう 1000 2006/12/1 4 おおお 1500 2007/1/1 5 いいい 700 2007/1/1 6 ききき 300 2007/1/1 後はExcelのピボットデーブルで 2006/12 2007/1 あああ 1000 800 いいい 700 1200 ううう 2000 1000 の様にするのが簡単です
補足
早速の回答ありがとうございます。 説明が悪かったのですが、毎月前月の隣に「品名」「数量」を追加していき、前々月のデータは、「非表示」にして保存しています。 品名単位(行)で、前月との比較が見れる形にしたいのです。 (「あああ」品名行の下にものさしを当てれば・・・みたいな。)
補足
回答ありがとうございます。 上記の方法を試してみます。 やはり「ピボットテーブル」「VLOOKUP」を使用したやり方がいいようですね。 >自分でわざわざ難しくしているようにしか思えません。 >Excelの機能を理解して表の形式を考えないと、いたずらに面倒になるだけだと思います。 --私もそう思います。。。 現在のやり方は、前任者からの引継ぎで、私もまだまだEXCEL勉強中です。。。