- ベストアンサー
excelでの集計方法
質問させてください。 excel2007で次のような表を集計しています。 111 A商品 30g 111 A商品 20g 111 A商品 20g 112 A商品 20g 113 B商品 20g 条件としては、 「商品名・内容量(g)が同じ ただし、左の番号が同じものは、”1”とカウントする」 よって A商品 30g→1 A商品 20g→2 B商品 20g→1 としたいのです。 宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
No.3です。 例えば(元シートSheet1)補助列を1列追加して、 商品名&グラムの列を、作成すれば、SUMIF で結果を表示できます。 SUMPRODUCT より、動作が軽くなると思われます。 補助列を使用します。(Sheet1) D1へ =A1&B1&C1 を、オートフィルで下へ E1へ =IF(COUNTIF(D$1:D1,D1)=1,1,0) を、オートフィルで下へ F1へ =B1&C1 を、オートフィルで下へ 結果を表示したいセルへ(Sheet2) A商品の30g =SUMIF(Sheet1!F$1:F$5,"A商品30g",Sheet1!E$1:E$5) A商品の20g =SUMIF(Sheet1!F$1:F$5,"A商品20g",Sheet1!E$1:E$5) B商品の20g =SUMIF(Sheet1!F$1:F$5,"B商品20g",Sheet1!E$1:E$5)
その他の回答 (5)
- turuzou
- ベストアンサー率33% (15/45)
No.3です。 例えば(元シートSheet1)補助列を1列追加して、 商品名&グラムの列を、作成すれば、SUMIF で結果を表示できます。 SUMPRODUCT より、動作が軽くなると思われます。 補助列を使用します。(Sheet1) D1へ =A1&B1&C1 を、オートフィルで下へ E1へ =IF(COUNTIF(D$1:D1,D1)=1,1,0) を、オートフィルで下へ F1へ =B1&C1 を、オートフィルで下へ 結果を表示したいセルへ(Sheet2) A商品の30g =SUMIF(Sheet1!F$1:F$5,"A商品30g",Sheet1!E$1:E5) A商品の20g =SUMIF(Sheet1!F$1:F$5,"A商品20g",Sheet1!E$1:E6) B商品の20g =SUMIF(Sheet1!F$1:F$5,"B商品20g",Sheet1!E$1:E7)
- turuzou
- ベストアンサー率33% (15/45)
No.3です、失礼しました。 C列がg表示でしたら下記へ変更してください。 補助列を使用します。 D1へ =A1&B1&C1 を、オートフィルで下へ E1へ =IF(COUNTIF(D$1:D1,D1)=1,1,0) を、オートフィルで下へ 結果を表示したいセルへ A商品の30g =SUMPRODUCT((B$1:B$5="A商品")*(C$1:C$5="30g")*E$1:E$5) A商品の20g =SUMPRODUCT((B$1:B$5="A商品")*(C$1:C$5="20g")*E$1:E$5) B商品の20g =SUMPRODUCT((B$1:B$5="B商品")*(C$1:C$5="20g")*E$1:E$5)
- turuzou
- ベストアンサー率33% (15/45)
補助列を使用します。 D1へ =A1&B1&C1 を、オートフィルで下へ E1へ =IF(COUNTIF(D$1:D1,D1)=1,1,0) を、オートフィルで下へ 結果を表示したいセルへ A商品の30g =SUMPRODUCT((B$1:B$5="A商品")*(C$1:C$5=30)*E$1:E$5) A商品の20g =SUMPRODUCT((B$1:B$5="A商品")*(C$1:C$5=20)*E$1:E$5) B商品の20g =SUMPRODUCT((B$1:B$5="B商品")*(C$1:C$5=20)*E$1:E$5)
- avam-efsf
- ベストアンサー率23% (223/940)
- gyouda1114
- ベストアンサー率37% (499/1320)
お礼
すみません。自己解決です。 もう一度範囲を指定し直したら、できました。 ありがとうございました!!
補足
ご回答有難うございます。 上記で、参照シートが違う場合、 =SUMPRODUCT((Sheet1!F$1:F$2000=C1)*(Sheet1!G$1:G$2000=D1)*Sheet2!B$1:B$2000) (検索基準値はC1とD1) ですと、きちんと計算されません。 Sheet2が反映されていないようです。 原因がわかりません。。。