練習問題一覧 / データ整形

COUNTIF は 2 件、画面には 4 件(見えない空白)

ふつう データ整形
問題文
ヒント 0/4
模範解答 2
–
テストケース
1
2
3
リセット
提出
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
インタラクティブなスプレッドシートを読み込み中...
セルと数式の計算エンジンを準備しています
○ 準備完了 ハイライトされたセルに数式を入力し、「提出」を押してください。

問題

問題文

A2:A6 では4人が East ですが、単純な COUNTIF では2人しか見つかりません。書き出しの際に末尾の空白が付き、1件は小文字になっています。実際の East の件数を East count セル D2 に入れてください。

地域の列は編集せず、式の中で整えてください。

問題のデータ

表でデータ全体を見る(選択・コピーできます)
この問題のデータ表
ABD
1RegionRepEast count
2East Ada
3EastBen
4WestCleo
5EastDan
6east Eli

ポイント解説

COUNTIF は文字列を完全一致で比べます(大文字小文字は区別しません)。ただし末尾に空白があると "East " は別の文字列です。SUMPRODUCT の中で TRIM してから比べれば正規化でき、= は大文字小文字を区別しません。COUNTIF のワイルドカード("east*")も短く書けますが、"Eastern" も数えてしまいます。

解き方のヒント

回答は D2 に入力します。送信時は 3 通りの入力で数式を再実行するので、数値を直接書くと必ず失敗します。数式はセルを参照してください。

  1. 対象セルは D2
  2. A2 を見ると East の後ろに空白がある
  3. 各セルを TRIM してから "East" と比べる
  4. 形:=SUMPRODUCT(--(TRIM(?) = ?))

模範解答

模範解答を表示(2 通り・まずは自分で試してみましょう)

方法1:TRIM して配列で比較

=SUMPRODUCT(--(TRIM($A$2:$A$6) = "East"))

TRIM が末尾の空白を除き、比較が TRUE/FALSE を作り、二重のマイナスが 1 に変えます。小文字の1件も含めて4行が一致します(= は大文字小文字を区別しないため)。

方法2:COUNTIF とワイルドカード

=COUNTIF($A$2:$A$6, "east*")

アスタリスクが "east" 以降を吸収するので、末尾の空白は問題になりません。短く書けますが、"Eastern" も数えてしまうため、そうした名前を含む地域リストでは危険です。

関数ガイド

関連する練習問題

よくある質問

見えている値なのに COUNTIF が 0 を返すのはなぜ?

保存されている文字列が見た目と違うためです。末尾の空白、非改行スペース、文字列になった数値がよくあります。TRIM するか、ワイルドカードで照合します。

Excel の文字列比較は大文字小文字を区別しますか?

しません。COUNTIF と = は区別しないため、"east" は "East" と一致します。区別が必要なら EXACT を使います。