• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字列AかBを含むセル数をSUMPRODUCT関数で求める場合)

エクセル2000で文字列AかBを含むセル数を求める方法

このQ&Aのポイント
  • エクセル2000で、文字列AかBを含むセル数を求める方法について説明します。
  • SUMPRODUCT関数を使用して、A1:A10のセル範囲内で文字列AかBが含まれるセルの数を求めることができます。
  • 重複を除外するためには、以下のような簡素な式を使用することができます:=SUMPRODUCT((ISNUMBER(FIND("A",A1:A10))+ISNUMBER(FIND("B",A1:A10))>=1)*1)

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

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

以下だと重複カウントされます。 =SUMPRODUCT((ISNUMBER(FIND("A",A1:A10))+ISNUMBER(FIND("B",A1:A10)))) 理由は、Aがあるとき「ISNUMBER(FIND("A",A1:A10))」はTRUE、Bがあるとき「ISNUMBER(FIND("B",A1:A10))」はTRUE、なので、TRUE+TRUE=2となります。(=TRUE+TRUEという式をセルにいれれば2になるはずです) 本題の以下ですが、 =SUMPRODUCT((ISNUMBER(FIND("A",A1:A10))+ISNUMBER(FIND("B",A1:A10))>=1)*1) TRUE+TRUE=2、TRUE+FALSE=1、FALSE+TRUE=1、いずれも1以上なので、「(ISNUMBER(FIND("A",A1:A10))+ISNUMBER(FIND("B",A1:A10))>=1)*1」の結果は2でも1でも1とカウントします。 なので、結果は重複なしになります。

merlionXX
質問者

お礼

なあ~るほどぉ! 非常にわかりやすい解説をありがとうございました。 ISNUMBER(FIND("A",A1:A10))+ISNUMBER(FIND("B",A1:A10))>=1)がTRUEを返すから、それに*1してるってことですね。 納得しました。 kyboさま、ありがとうございます。(o。_。)oペコッ.

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

>AB両方があるセルが重複カウントされないのかどうもわかりません。 ⇒sumproduct式の「+」は論理和ですから、両文字がある場合、1+1⇒1となるので重複計数されません。

merlionXX
質問者

お礼

mu2011さま、ありがとうございます。 そのとおりでした。 不勉強を痛感しました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

SUMPRODUCT関数では答えがTRUEであれば1、FALSEであれば0と数えられますね。AとBが同時に含むセルではISNUMBER(FIND("A",A1:A10))+ISNUMBER(FIND("B",A1:A10))の値は2になりますが式ではその足し合わせた値が1以上の場合にはということで、2の場合であってもその答えは1以上、すなわちTRUEとなって1が返されますね。

merlionXX
質問者

お礼

KURUMITOさま、ありがとうございます。 言われてみればそのとおりですね。 不勉強でした。 反省(T.T)

関連するQ&A