• ベストアンサー

出来るのでしょうか??”エクセルで集計表つくりたい”

エクセルベースで作りたい。 エクセルベースで、集計表として、たてに100の項目(商品名)、横に30(日にち)の大きな表があります。また、日々の売り上げ商品名(縦)と個数(右側)の表があります。  これら2つの表を関数などを用いて「ほぼ自動入力」をして全体の表を完成させたいのです。 例として「5日はAの商品が13個、Dの商品が3個」次の日は「Bの商品が16個、Zの商品が145個」。売れた種類が少ないときはコピーなどを用いて入力が出来るのですが、種類が多くなると入力ミスなどが発生し正確な表が作れなくなりますので、いわば「手入力」は避けたいのです。  どうぞ宜しくお願いいたします。

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

  • ベストアンサー
  • EFA15EL
  • ベストアンサー率37% (2657/7006)
回答No.4

なるほどひとつのワークブックに32個のシートがあり、 1つは集計用(31日分)、残りは日次のシートですね。 それなら簡単に出来ます。 ※日次のシートは左端(A列)が商品名であることが条件です。 ※同2列目(B列)が販売数とします。 ※また、日次のシート名を仮に「20070601」~「20070631」とします。 ※集計シートは左端が商品名であり、2行目からスタートすることにします。(こっちは別にどこから始まっても良い) 6月集計として、6月1日を例に取ります。 集計シートの6月1日、商品名Aのセル(この場合B2)に、 =IF(ISERROR(VLOOKUP($A2,'20070601'!A:B,2,FALSE)),0,VLOOKUP($A2,'20070601'!A:B,2,FALSE)) と書きます。 これは、A2(=商品名A)と同じ名前がシート20070601のA列とB列の中にあったら、その行の2列目の値(=販売数)を返しなさい。無かったら0を返しなさい。という意味です。 あとはこれをコピーして6月1日の残りのセルに貼付ければ6月1日は終了。 そのまま他の日のセルに貼付けても良いのですが参照するシート名が毎日変わりますからそこだけ置換してやる必要があります。 というわけで、最初にちょっと時間がかかりますがあとは日々のシートに間違いなく記入して行けば自動的に計算出来ます。 弱点は商品名の表記が揺れると計算されない点ですが、怪しければ入力規則で縛ってしまっても良いでしょう。

sasamoku-k
質問者

お礼

有難う御座いました。 バッチリでした。動いたときは感動的でした。 規則により20点しかアゲラレナクテごめんなさい。

sasamoku-k
質問者

補足

有難う御座います。 ところで、商品名に「適当な五十音」、個数を英数字でサンプルを作成して試したのですが、すべてゼロになり動きません。アドバイスをお願いいたします。

その他の回答 (3)

  • test_
  • ベストアンサー率28% (15/52)
回答No.3

されたい機能は、 データベースソフトのが簡単にできますよ!! Ms-Accessとか されたいことって、集計というのを具体的に言うと、 フィールド 1日あたりの、売上げ金額とかになると思います。 上の説明から察するに、あらゆる商品の単なる合計を 出す気はないと思います。 エクセルでも、作れますが要求している仕様を満たすのに、 とても難しいですよ・・・。 印刷物で、確認表程度であれば、エクセルでいいのですが、 複雑な解析をしたりできるためアクセスなどお勧めです!。

  • EFA15EL
  • ベストアンサー率37% (2657/7006)
回答No.2

あ、失礼。日次は30日分ですね。 そこだけ訂正します。

  • EFA15EL
  • ベストアンサー率37% (2657/7006)
回答No.1

2つ目の表の日付がどうなっているか分かりません。 1日ごとに新しい表を作るのなら2つではなく32個(日次が31個、集計が1つ)の表でしょう? そうではないのだとしたら日付はどこに記されるのでしょうか?

sasamoku-k
質問者

補足

そこまで考えていませんでした。 改めて、大きな全体集計表が1つ。そして、日々の売り上げ表ですが、例をとります。  15日の売り上げ表とすると、縦に売れた商品の名前(日によって行数が変わります)、その右横に売れた個数、個数の行の頭にこの場合だと「15」。このように考えています。  このような表を31個考えます。つまり、31枚の日々の集計シートとまとめシートの啓32枚のシートを考えます。  どうぞ宜しくお願いいたします。