- ベストアンサー
エクセル2000での複数条件での集計
いつも拝見させていただいております。 非常に頭を悩ませておりお知恵を拝借させて頂ければ助かります。 エクセル2000を使用しております。 下記のデータを元に複数の条件一致で合計をだしたいのですが、表の形 式が単純ではなく3行で1データとなっております。 A B C D E F 1 得意先 名称1 数量1 金額1 販売日 2 名称2 数量2 金額2 配達日 3 名称3 数量3 金額3 集金日 4 5 佐藤様 りんご 1 1000 1月10日 6 みかん 2 2000 1月15日 7 ぶどう 1 1500 1月25日 8 高橋様 りんご 5 5000 1月10日 9 1月20日 10 1月30日 11 鈴木様 みかん 2 2000 1月16日 12 1月20日 13 1月25日 1行目から3行目までが見出しになります。 5行目以降3行単位で一つのお得意様情報になります。 別シートに日付単位に配達日をキー集計を行いたいのですが イメージとしてはこうです。 A B C D 1 1月15日 1月20日 2 りんご 1 5 3 みかん 2 2 4 ぶどう 1 0 いろいろ試しては見ましたがエラーではじかれてばかりで進みません。 グルーピングの設定がわからないというか・・・ 大変恐縮ですがアドバイスいただけると助かります。 宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
数量も空白だったのですね。 シート1ではH列はこれまでの式で新たにI5セルには次の式を入力して下方にオートフィルドラッグします。 =IF(F5="","",IF(D5<>"",D5,I4)) シート2ではB2セルに次の式を入力して横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(OR(B$1="",$A2=""),"",SUMIF(Sheet2!$H:$H,$A2&"/"&B$1,Sheet2!$I:$I))
その他の回答 (3)
- end-u
- ベストアンサー率79% (496/625)
まずデータを整形したほうが良いかと。 G列(空いている列)にでも「3行で1データ」の共通の配達日を引っ張る式を入れたりします。 例えば、G5セルに =INDEX(F:F,FLOOR(ROW()+1,3)) 以下コピー。 または簡単に G5:=F6 G6:=F6 G7:=F6 G5:G7の3セルをまとめて選択して下にフィルドラッグ。 あとはSUMPRODUCT関数なりピボットテーブルなり使えば簡単に集計できると思います。 ピボットの場合は「名称1」「数量1」をキーにして「名称2」、「名称3」の項目が不要になります。 (ピボット元データの1行目には見出しが必要なのでG1セルには「配達日」とでも入れて下さい)
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No1です。大変失礼をいたしました。 シート1では作業列としてH5セルに次の式を入力し下方にオートフィルドラッグします。 =IF(F5="","",IF(C5<>"",C5&"/"&F5,LEFT(H4,FIND("/",H4)-1)&"/"&F5)) シート2では果物名前をA2セルから下方に日付はB1セルから右横方向に入力するとします。 B2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(B$1="",$A2=""),"",SUMPRODUCT((Sheet1!$C$5:$C$1000=$A2)*(Sheet1!$H$5:$H$1000=$A2&"/"&B$1)*Sheet1!$D$5:$D$1000))
- KURUMITO
- ベストアンサー率42% (1835/4283)
シート2ではB2セルから下方に果物の名前があり、C1セルやD1セルには日付があるとします。 C2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =SUMPRODUCT((Sheet1!$C$5:$C$1000=$B2)*(Sheet1!$F$5:$F$1000=C$1))
お礼
何とかかんとか完成しました。 お手数おかけしました。 ありがとうございました。