• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの配列)

エクセル配列問題:関数が正しく動かない理由を教えてください

このQ&Aのポイント
  • エクセルの配列を使用して関数を作成していますが、正しい値が出ません。
  • A列が1であり、B列が1または2でかつC列に「東京都」という文字が含まれる行の総数を計算したいです。
  • 関数を入れても正しい値が出ない原因を教えてください。作業列を使用せずに解決したいです。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

修正してみました =SUMPRODUCT((A1:A10=1)*((B1:B10=1)+(B1:B10=2))*(ISNUMBER(FIND("東京都",C1:C10)))) sumproduct自体が配列としてSumします

kikei
質問者

お礼

回答ありがとうございます。 なるほど!ORの部分を足してしまうんですね。 ((B1:B10=1)+(B1:B10=2)) コレが思いつきませんでした。 今気づいたんですが下のようにすると {=SUM(IF(OR(B1:B10=1,B1:B10=2),1,0))} 「1」になってしまうんですよね。 この原因で違った値がでてしまったようです。 どうもありがとうございました。

その他の回答 (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つまで条件を設定できるので、ちょうどいいんじゃないでしょうか。 それで、「東京都」のセルの行数が抽出したいデータの総数ということになるはずですが。

関連するQ&A

専門家に質問してみよう