• 締切済み

関数での実績表の作成方法について

いつもありがとうございます!よろしくお願いいたします。 下記の表(1)があり、その数字を抜き出して下記表(2)を作成したいのですが、 どのような方法があるか、お知恵を拝借できれば幸いです。 表(1)       A       B        C      D      E      F  1  発注NO.  2                   発注日   納入先  納入日  3         製品名(1)                         数量  4         製品名(2)                         数量  5         製品名(3)                         数量 A1に発注NO.、C2に発注日、D2に納入先、E2に納入日、B3に製品名(1)、 F3に数量、B4に製品名(2)、F4に数量、B5に製品名(3)、F5に数量… というデータが1セットで、発注NOごとに入っています。 製品名(4)まであり、(1)と(3)のみだったり、データにより違います。 この表を 表(2)     A     B     C      D      E  1      製品(1)  製品(2)   製品(3)  製品(4)  2 日付   数量    数量    数量    数量    3 日付   数量    数量    数量    数量  4 日付   数量    数量    数量    数量     ・     ・ という状態にしたいのですが、出来ればマクロでなく、関数のみで 作りたいと思っています。 色々やってみましたがうまく変換出来ません。 どのような関数で抽出を行ったらいいのか、アドバイス頂けませんで しょうか?よろしくお願いいたします!

みんなの回答

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

表1が添付画像のように1枚のシートの同じ列にデータが入力されており、商品ごとの日付別数量を計算したいなら、SUMIFS関数を使うのが簡単です。 添付画像H2セル以下に日付、I1セルから右に商品名が入力されているなら、I2セルに以下の式を入力して右方向及び下方向にオートフィルします。 =SUMIFS($F$3:$F$30,$E$3:$E$30,$H2,$B$3:$B$30,I$1) ちなみに、元データが1枚づつのシートに分かれているなら、基本的に関数で処理することはできません(シート名が日付などの基準がある場合は関数で対応できる可能性もあります)。 基本的にエクセルのデータベースには、このような形式のデータの入力を行うのではなく、1枚のシートで1行に1レコードのような形で入力します。 このようなデータベースがあれば、逆に特定のデータごとの(例えば発注Noごとの)データを別シートなどに表示させることができます。

natsu_koo
質問者

お礼

できました!! ご説明、大変わかりやすかったです。 本当にありがとうございました!!

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

ピボットテーブルを使ってみて下さい。 ちなみに、表(2)の日付はいつにすればいいのでしょうか?

natsu_koo
質問者

補足

ありがとうございます。 すみません、表(2)の日付は『納入日』です。 表(1)のデータが日々追加されていくので、ピボットで毎日計算するのが 手間で…。 どうにか関数で出来ないかなあと思った次第です。

関連するQ&A