• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELでのデータ集計について)

EXCELでのデータ集計の方法と注意点

このQ&Aのポイント
  • EXCEL2007、XPを使用している場合、データ集計を行いたい時に注意が必要です。特に、同じ品番と数量の行が並んでしまう場合があります。
  • 集計を行う際は、SUMIF関数を使用することが一般的ですが、この方法では同じ品番と数量の行が重複して表示されてしまう問題があります。
  • 解決策として、品番ごとに数量を合計するための方法があります。これにより、集計後の表に同じ品番が重複して表示されなくなります。マクロの使用は極力避けたい場合でも、この方法を使うことができます。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

品番だけの問題ならよいのですが、後からご質問でメーカーが変わったらどうなるとか倉庫が変わったらどうなるとか聞かれることでしょう。それらのことも含めて答えることにすれば次のようになるでしょう。 元のデータがシート1に有るとしてA1セルに倉庫、B1セルにメーカー、C1セルに品番、D1セルに数量とそれぞれ項目名が入力されているとして2行目から下方にデータが有るとします。 そこで作業列を作って対応します。 E2セルには次の式を入力して下方にドラッグコピーします。 =A2&B2&C2 F2セルには次の式を入力して下方にドラッグコピーします。 =IF(E2="","",IF(COUNTIF(E$2:E2,E2)=1,MAX(F$1:F1)+1,INDEX(F$1:F1,MATCH(E2,E$1:E1,0)))) そこでお求めの表をシート2に表示させることにします。 A1セルからD1セルにはシート1の項目を並べます。 A2セルには次の式を入力して右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>MAX(Sheet1!$F:$F),"",IF(COLUMN(A1)<=3,INDEX(Sheet1!$A:$C,MATCH(ROW(A1),Sheet1!$F:$F,0),COLUMN(A1)),IF(COLUMN(A1)=4,SUMIF(Sheet1!$F:$F,ROW(A1),Sheet1!$D:$D),"")))

mitsunori32
質問者

お礼

頂いた関数で、問題なく作成する事が出来ました。 勉強になりました。ありがとうございます。

その他の回答 (1)

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

シート2に、別途、「重複の削除」で、品番が重複しない表を作成しておき、 http://pc.nikkeibp.co.jp/article/NPC/20070124/259397/ それに対して(シート2で)、sumif関数使って、シート1からデータ引っ張ればいいのでは? 汎用性等はないので、「そういうデータが作れればいい」という場合にしかできませんが。

mitsunori32
質問者

お礼

ありがとうございます。 ご教授頂いた考え方で無事作成できました。

関連するQ&A