- ベストアンサー
EXCEL関数について
- Sheet1のA列には1〜10までのランダムな値が入力されており、B列には1〜4のランダムな値が入力されています。Sheet2のA列には1〜10までの値と対応するグループが入力されています。Sheet2のB〜E列には各グループがSheet1の値を何個選んでいるかをカウントしたいです。
- 関数の試行を試してもうまくいかず、解決策を探しています。
- ご教示をお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
複数の条件でカウントを行いますから COUNTIFS関数でしょうか。 =COUNTIFS(Sheet1!A1:A1000,"=1", Sheet1!B1:B1000,"=1") ただしこの関数は Excel2007 から追加されたものですので、Excel2003 以前では使用できません。 Excel2003以前を使っている、またはそのブックを使う可能性があるのでしたら SUMPRODUCT関数を使いましょう。 これで A列に 1 が入力されて、同じ行のB列に 1 が入力されたセルをカウントできます A列に 2、B列に 3 なら =SUMPRODUCT((Sheet1!A1:A1000=2)*(Sheet1!B1:B1000=3)) です。 A列の数値に該当するところを Sheet2 の A列を参照させると応用もできるので良いでしょう。 自分なら横着するために =SUMPRODUCT((Sheet1!$A$1:$A$1000=$A1)*(Sheet1!$B$1:$B$1000=COLUMN(A1))) こんなふうに書きますね。 これを右と下方向にコピーするだけです。
その他の回答 (2)
- kmetu
- ベストアンサー率41% (562/1346)
Sheet2のB1セルに =SUMPRODUCT((Sheet1!$A$1:Sheet1!$A$1000=$A1)*(Sheet1!$B$1:$B$1000=COLUMN(B1)-1)) あとは列と行方向にフィルしてください。
お礼
ご回答有難うございました。 本当に助かりました!!
- merlionXX
- ベストアンサー率48% (1930/4007)
Sheet2のB1に以下の式をいれて必要範囲(E10まで)にコピーしてみてください。 =SUMPRODUCT((Sheet1!$A$1:$A$1000=$A1)*(Sheet1!$B$1:$B$1000=COLUMN(A1)))
お礼
ご回答有難うございました。 本当に助かりました!!
お礼
ご回答有難うございました。 本当に助かりました!!