- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの配列)
エクセル配列問題:関数が正しく動かない理由を教えてください
このQ&Aのポイント
- エクセルの配列を使用して関数を作成していますが、正しい値が出ません。
- A列が1であり、B列が1または2でかつC列に「東京都」という文字が含まれる行の総数を計算したいです。
- 関数を入れても正しい値が出ない原因を教えてください。作業列を使用せずに解決したいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
修正してみました =SUMPRODUCT((A1:A10=1)*((B1:B10=1)+(B1:B10=2))*(ISNUMBER(FIND("東京都",C1:C10)))) sumproduct自体が配列としてSumします
その他の回答 (2)
- nonpq
- ベストアンサー率30% (64/210)
回答No.3
もしこの関数を使う前提で修正するなら、 =SUM(SUMPRODUCT(IF(A1:A10=1,1,0))*(IF(OR(B1:B10=1,B1:B10=2),1,0))* の後ろの (ISNUMBER(FIND("東京都",C$1:C10)))) を IF(LEFT(C3,3)="東京都",1,0)にしてはどうですか?
- 0913
- ベストアンサー率24% (738/3034)
回答No.1
難しい関数を使わなくても、「並べて」みてはいかがでしょうか。 「データ」で「並べ替え」を選び、3つまで条件を設定できるので、ちょうどいいんじゃないでしょうか。 それで、「東京都」のセルの行数が抽出したいデータの総数ということになるはずですが。
お礼
回答ありがとうございます。 なるほど!ORの部分を足してしまうんですね。 ((B1:B10=1)+(B1:B10=2)) コレが思いつきませんでした。 今気づいたんですが下のようにすると {=SUM(IF(OR(B1:B10=1,B1:B10=2),1,0))} 「1」になってしまうんですよね。 この原因で違った値がでてしまったようです。 どうもありがとうございました。