• ベストアンサー

Excel関数「COUNTIF」で”文字”をカウントしてくれないことがある

私は中学校教諭です。Excel2003を使用しています。関数「COUNTIF」を使って、時間割の中の”英 語”という文字の数をカウントしたいのですが、同じ”英 語”という文字であっても、その文字をカウントしたりカウントしなかったりする現象があらわれます。関数で指定した”英 語”という文字と、時間割に記入されている”英 語”という文字は、フォントも、文字間もまったく同じになっています。(・・・はずです)また、計算方法は「自動」にしています。なぜ、このように、文字によってカウントしたり、しなかったりするのか、その理由を教えていただければと思います。アドバイスよろしくお願いいたします。

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

  • ベストアンサー
  • Caryo_t
  • ベストアンサー率45% (112/246)
回答No.1

英語を“”で区切っていらっしゃることから類推しますに,“英 語”はダブルクォーテーションで囲っておられるようですね。では,「英」と「語」の間が,全角スペース1文字か,半角スペース2文字である可能性が考えられないでしょうか。 いずれにしましても,“英 語”の「英」の字から「語」の字までをコピーし,それを全ての「英 語」にペーストすれば解決するかと思います。 手順といたしましては, 1.「Ctrl + H」あるいは編集→置き換え を用いて,「英語,英(半角スペース×2)語,英(全角スペース)語」などを「英語」に置き換え,countif関数を使われると良いと思います。 以上,取り急ぎ要点のみにて失礼いたします。 またご質問があれば,補足でお願いいたします。

takakyo7
質問者

お礼

アドバイスの通り、関数に引用した”英○語”の○の部分の空白が「半角2文字」であったのが原因でした。ありがとうございました。

その他の回答 (5)

  • OKBob
  • ベストアンサー率21% (57/265)
回答No.6

すみません#5です。 >を入力してしA10まで流してください。 の A10 は B10 の間違いでした。

  • OKBob
  • ベストアンサー率21% (57/265)
回答No.5

先に皆さんが仰っているように、COUNTIFで指定した文字列と 参照セル内の文字が一致していない可能性が大です。 カウントする"英語"が1つのセルに1つずつ入っているのであれば その1セル毎のバイト数をチェックしてみて下さい。 例えば A1~A10に10個の"英語"があるとして、B1に =LENB(A1) を入力してしA10まで流してください。 セル内にスペースが1つもない"英語"の状態で結果は4になります。 なお、この計算は半角1つ=1、全角=2で計算されます。 また、=LEN(A1) を使えば、文字数を返してくれます。 半角スペース 全角スペース 全角文字 半角文字 全て1でカウントして返します。

takakyo7
質問者

お礼

アドバイスの通り、関数に引用した”英○語”の○の部分の空白が「半角2文字」であったのが原因でした。ありがとうございました。本来ならばポイントを差し上げなくてはいけないのですが、複数の方からアドバイスをいただきましたので、回答が早かった方を優先にポイントを入れました。お詫び申し上げます。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.4

同じに見えても違うのでしょう。 (ただし、フォントは関係ないです) 例えば、 1)前後に空白がある 2)あいだの空白が全角空白1文字と半角空白2文字 3)データベースなどから抽出した場合に、前後に目に見えない文字が付加している場合がある など。

takakyo7
質問者

お礼

アドバイスの通り、関数に引用した”英○語”の○の部分の空白が「半角2文字」であったのが原因でした。ありがとうございました。本来ならばポイントを差し上げなくてはいけないのですが、複数の方からアドバイスをいただきましたので、回答が早かった方を優先にポイントを入れました。お詫び申し上げます。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

> 同じになっています。(・・・はずです) 既にご自身で書かれてますが、空白が原因では? 見た目と実際の値に差があるとすれば 1.”英 語”の間の空白が、全角と半角の違いがある。 2.末尾に余分な空白がある。(”英 語 ”になっている) ではありませんか?

takakyo7
質問者

お礼

アドバイスの通り、関数に引用した”英○語”の○の部分の空白が「半角2文字」であったのが原因でした。ありがとうございました。本来ならばポイントを差し上げなくてはいけないのですが、複数の方からアドバイスをいただきましたので、回答が早かった方を優先にポイントを入れました。お詫び申し上げます。

  • melgirl
  • ベストアンサー率39% (142/364)
回答No.2

フォントやフォントサイズの違いはあくまで飾りの部分なので関数上は関係しません。敢えて変えてもカウント数に変更はないですのでよかったら試してみて下さい。 さて本題ですが"英語"の間に入っているスペースですがこれが全角か半角かで統一されていないことはないですか?countifの中では全角スペース一つで記述し、時間割の方では半角を二つ入れているものがあるとか。この場合同一とはみなさないのでカウントしないものが出てくるでしょう。 これを確かめるためにcountifの"英 語"をコピーし時間割の"英 語"のセルを全部ペーストで書き換えてみて下さい。直ったら上記が原因であることがわかりますね。 それでも状況が変らないなら、範囲指定が間違っていることはありませんか?時間割全てを範囲としていますか? できれば「どのセルに"英 語"という文字が入っていて数式は○○になっていて・・・、このセル"英 語"をカウントしない」などという事例を教えていただけると皆さん回答しやすいかと思います。

takakyo7
質問者

お礼

アドバイスの通り、関数に引用した”英○語”の○の部分の空白が「半角2文字」であったのが原因でした。ありがとうございました。

関連するQ&A