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

EXCEL関数について

このQ&Aのポイント
  • Sheet1のA列には1〜10までのランダムな値が入力されており、B列には1〜4のランダムな値が入力されています。Sheet2のA列には1〜10までの値と対応するグループが入力されています。Sheet2のB〜E列には各グループがSheet1の値を何個選んでいるかをカウントしたいです。
  • 関数の試行を試してもうまくいかず、解決策を探しています。
  • ご教示をお願いします。

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

複数の条件でカウントを行いますから 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))) こんなふうに書きますね。 これを右と下方向にコピーするだけです。

sakuichi
質問者

お礼

ご回答有難うございました。 本当に助かりました!!

その他の回答 (2)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

Sheet2のB1セルに =SUMPRODUCT((Sheet1!$A$1:Sheet1!$A$1000=$A1)*(Sheet1!$B$1:$B$1000=COLUMN(B1)-1)) あとは列と行方向にフィルしてください。

sakuichi
質問者

お礼

ご回答有難うございました。 本当に助かりました!!

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

Sheet2のB1に以下の式をいれて必要範囲(E10まで)にコピーしてみてください。 =SUMPRODUCT((Sheet1!$A$1:$A$1000=$A1)*(Sheet1!$B$1:$B$1000=COLUMN(A1)))

sakuichi
質問者

お礼

ご回答有難うございました。 本当に助かりました!!

関連するQ&A