- ベストアンサー
Excel関数を使って行・列が変わる合計の求め方
Excelの関数設定が上手く出来ず困っています。 Excelの行を抽出、列が変数となる表の合計の求め方を教えてください。 Sheet1は販売製品・顧客・月別の売上金額表で、毎月数字を入力します。 A B C D E F・・・ 1 顧客名 4月 5月 6月 7月・・・ 2 パソコン Z社 20 40 30 10・・・ 3 プリンタ Y社 10 20 5 25・・・ 4 サーバ X社 15 15 20 10・・・ 5 パソコン W社 35 30 20 20・・・ 6 プリンタ V社 10 20 25 30・・・ 7 パソコン U社 5 5 10 5・・・ Sheet2は、月次の分析表で、毎月の製品別の売上を分析します。 A B C D E F・・・ 1 4月 2 売上金額 分析内容 3 パソコン 55 W社向け売上増etc 4 プリンタ 20 ・・・・・・・・ 5 サーバ 15 ・・・・・・・・ Sheet2のA1の月を変更すると、Sheet1の数字を参照して合計できる方法はありませんでしょうか? (たとえばA1を5月にすると、パソコン:75の合計が出る) Sumproductやindex、Offset等でいろいろ試してみましたが、上手く行きません。 Sheet3にSheet1の集計用の表を作り、Sheet2で再度集計する方法は上手くいきましたが、製品の種類が増えた時に全てのシートに追加する必要があるため、2つのSheetで完結する方法を探しています。 どなたかExcelに詳しい方、アドバイスをお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
A列は共通で,どの列の数字を合計するかが可変になるだけです。 基本形: =SUMIF(Sheet1!A:A,A3,OFFSET(Sheet1!A:A,0,MATCH($A$1,Sheet1!$1:$1,0)-1)) 応用というか捻り技: =SUMIF(Sheet1!A:A,A3,INDEX(Sheet1!$1:$1,MATCH($A$1,Sheet1!$1:$1,0)))
その他の回答 (1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
シート2のB3セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A3="","",SUMIF(Sheet1!A:A,A3,INDEX(Sheet1!A$1:N$10000,1,MATCH(A$1,Sheet1!$1:$1,0)):INDEX(Sheet1!A$1:N$10000,10000,MATCH(A$1,Sheet1!$1:$1,0))))
お礼
お礼が遅れまして申し訳ございません。 回答ありがとうございます。お気づきのとおり、Sheet1は下の行へどんどん入力していく予定なので、広い範囲を設定したほうがよいですね。 ありがとうございました。
お礼
早急に回答いただいたのにお礼が遅れまして申し訳ございません。 ありがとうございます。教えていただいたとおり入力して上手くいきました! MATCHという関数は今まで使ったことがなかったので勉強になりました。