• 締切済み

エクセルで比較表を作成するため・・・

 エクセルで、「前月」「今月」「昨年同月」と、毎月出来高数量を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や書籍等ありましたらあわせてお願いいたします。

みんなの回答

noname#46899
noname#46899
回答No.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の機能を理解して表の形式を考えないと、いたずらに面倒になるだけだと思います。

hitsan
質問者

補足

回答ありがとうございます。 上記の方法を試してみます。 やはり「ピボットテーブル」「VLOOKUP」を使用したやり方がいいようですね。 >自分でわざわざ難しくしているようにしか思えません。 >Excelの機能を理解して表の形式を考えないと、いたずらに面倒になるだけだと思います。 --私もそう思います。。。   現在のやり方は、前任者からの引継ぎで、私もまだまだEXCEL勉強中です。。。

noname#46899
noname#46899
回答No.2

>毎月、項目が異なり、同じ列に揃えていくのが大変です。 の「項目」というのがどういう意味かわかりません。月ごとに品名を入れるようなので、品名のことではないようですが、仮に品名の行を固定するという意味なら、現在ある表を作り直すことになりますが、ピボットテーブルを使うのが現実的だと思います。 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 といった形式の表になります。質問の表形式とは異なりますが、こういう形式でよいのであれば、この機能を使ってみてください。 ピボットテーブルは本来は集計するための機能ですが、集計するデータがたまたま全部一個づつある状況ということになります。 ピボットテーブルの使い方はヘルプを参照してください。

参考URL:
http://hamachan.fun.cx/excel/piboto.html
hitsan
質問者

補足

早速の回答ありがとうございます。 説明が分かりづらくてすみません。 >>毎月、項目が異なり、同じ列に揃えていくのが大変です。 >の「項目」というのがどういう意味かわかりません。 --「品名」のことです。 (Sheet:2006年12月)のように、毎月常に「品名」は出しておきたいのです。次月を追加したときに、「前々月」(例で言えば2006年11月)を「非表示」にして保存しています。 元のSheetのレイアウトは変えずに(行の追加はOK)新たなデータを並べていきたいのです。

noname#58440
noname#58440
回答No.1

  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 の様にするのが簡単です  

hitsan
質問者

補足

早速の回答ありがとうございます。  説明が悪かったのですが、毎月前月の隣に「品名」「数量」を追加していき、前々月のデータは、「非表示」にして保存しています。  品名単位(行)で、前月との比較が見れる形にしたいのです。  (「あああ」品名行の下にものさしを当てれば・・・みたいな。)