• ベストアンサー

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

  • Excel2010でcountif関数について

    countif関数を使って、特定の文字が入力されたセルの数を算出するシートを作っています。検索する文字に"*"(アスタリスク)を指定すると数字以外のセルがすべてカウントされてしまいます。 =countif(範囲,"*") 他の文字列と同じように検索するにはどうしたら良いでしょうか?

  • エクセル関数COUNTIFで文字を数えてくれない

    エクセル関数COUNTIFで"文字"の数を集計させる場合、文字をコピーして貼り付けたときなどにその文字を数えてくれないことがあります。同じ文字を手で打ち直すときちんと数えてくれるのですが・・・。F9で再計算させてもカウントしてくれません。どなたか、その原因と解決策を教えていただけないでしょうか。

  • Excel COUNTIF関数

    お世話になります。 countif関数について教えてください。 12345 12345A countif関数で、ワイルドカードを使用して、=countif(A:A,"12345*") とし、上記の12345で始まる文字列をカウントしようとしたのですが、 12345Aはカウントされ、12345はカウントされませんでした。 上記のような文字列を両方ともカウントさせるにはどうしたらいい でしょうか。 よろしくお願いします。

  • COUNTIFで特定の文字列を含む値のカウント方法

    Excel2010を使っている者です。 COUNTIF関数で特定の文字列を含むセルの数をカウントしたいのですが、結果がゼロになってしまいます。 具体的には A列の1行目から900行目までに以下のように番号が振ってあって、その中で1994を含むセルの数を数えようと思っています。 計算式として「=COUNTIF($A$1:$A$900,"1994")」と入力したのですが、戻り値が0になってしまいます。 なお、A列は数値にしても文字列にしても結果は変わらず、「=COUNTIF($A$1:$A$900,"1994*")」とワイルドカードを使った検索にしても同じく0になってしまいます。 1994000001 1994000002 1994000005 ~ 2009111112 2009111117 もう一つ関連した質問をさせていただきますが、そもそもこの関数で特定の文字列を含む検索をかけたいときは、ワイルドカードの*を使わないとうまく計算できないものなのですか? よろしくお願いいたします。

  • COUNTIF関数が正確にカウントしない

    ExcelのファイルにCOUNTIF関数で「除外」という文字列をカウントするようにしています。Excel上では44個カウントしました。点検のため目視で「除外」を数えると「45」ありました。おかしいな?と思って「除外」を別の言葉に置換したら45個置換されたので、セル上に除外が45個あるのは間違いなさそうです。数式も間違っていないのに、なぜ1個足りないのでしょうか?見直すとすればどこがありますか?セルの形式は「標準」で他の文字列は正確にカウントしています。

  • エクセルのcountif関数でカウントできません。

    エクセルもまだまだ初心者という感じの者で恐縮です。セルに表示されている文字をcountif関数でカウントできません。2重にリンクというか数式を張り付けている(vlookup関数で表示させた文字を別のシートで=を使って表示させている)せいでしょうか?でてくる値が0になってしまいます。検索条件の文字はシート上に見えていますし、範囲しても間違えていないのになぜでしょう。どなたか是非お教えください。宜しくお願いします。

  • EXCELのcountif関数での大文字と小文字は区別できるのでしょうか

    EXCELのcountif関数での大文字と小文字を別々にカウントする方法をご存知の方がいましたら教えて下さい。 入力値 セルB2 aaa セルC2 aAa =COUNTIF(B2:C2,"aaa")とすると 2  が返ってきます。 aaaのみカウントしてaAaはカウントしないようにしたいのです。 もしかしたらcountifの制限なのでしょうか?そうだとしたら他の方法が思いつきません。ご存知の方みえましたら、教えて下さい。お願いします。

  • Excel COUNTIF関数について

    お世話になります。 出張の仕事が多く、国内・海外の予定をExcelでメモしています。 そこで、出張に行った日数を自動的にカウントしようと思い、COUNTIF関数を使用してみたのですがうまく計算されません(数字が0.00のまま) 識別したい文字は、社内+出張と出張(国内)と出張(海外)の3つです。 下記の式で問題ないと思うのですが・・・ =COUNTIF(E4:E34,"社内+出張")+COUNTIF(E4:E34,"出張(国内)")+COUNTIF(E4:E34,"出張(海外)") どこに間違いがあるか分かりません。 そもそも上記で合っているのかもわかりません。 どなたかCOUNTIF関数に詳しい方がおられましたらお教えいただけませんでしょうか。 宜しくお願い致します。

  • ExcelのCountif関数の条件に関数を使いたい

    Excel2002のCountif関数の条件に関数を使用することは可能でしょうか? 今日と同じ日付のセルの数をカウントしたく、以下のように記述したのですが、カウントされませんでした。 =COUNTIF(H1:H28,"=today()") 条件を日付で記述すればカウントされるので、セルの値は正しく入力されています。 よろしくお願いします。

  • COUNTIF関数(Excel2013)

    A列にデータ、B列に金額を入力してます。 A列のデータをCOUNTIF関数を使って件数を数えた後、A列でカウントしたB列の金額を集計する場合、どの様な式を使えばいいのでしょうか? 従来は、COUNT関数を使っていましたがデータ数が増えてCOUNT関数で、都度、セルを指定するのが大変になってきました。 詳しい方、ご教示お願いします。

専門家に質問してみよう