• ベストアンサー
  • 困ってます

エクセルのCOUNTIF関数について

COUNTIF関数でワイルドカードを使って検索する場合、検索対象は文字列でないと検索できないんでしょうか? 例えば、COUNTIF(A1:A10,"??1??") と入力した場合、A1からA10は数値では検索できず、文字列でないと検索できませんか?

共感・応援の気持ちを伝えよう!

  • 回答数6
  • 閲覧数352
  • ありがとう数7

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

  • ベストアンサー
  • 回答No.4
  • bunjii
  • ベストアンサー率43% (3558/8174)

回答No.3の関数にタイプミスがありました。 =SUMPODUCT(MID(A1:A10,3,1)="1")*1)      ↓ =SUMPRODUCT(MID(A1:A10,3,1)="1")*1)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

わざわざありがとうございます。

関連するQ&A

  • エクセル COUNTIF関数 検索条件を 5月中のように広く指定したい

    エクセル COUNTIF関数で 検索条件の項目を 一つの数値や文字列でなく、 シリアル値で入力されている5月というふうに指定したいのですが、 どのように入力したらいいのでしょうか。 仮に =COUNTIF(A1:A10,検索条件) として、A1からA10にはシリアル値で日付が入力されているとして 5月1日から5月31日を調べたいとき 検索条件にどのように入力したらよいでしょうか。 宜しくお願いします。

  • Excel COUNTIF関数

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

  • COUNTIF関数の検索条件

    COUNTIF関数で範囲を指定し、検索対象として文字列を指定しているのですが、その文字列は2つあります。ダブルコーテーションで文字列をくくり、そのあと、もうひとつの文字列を追加しようとするのですが、エラーが出てだめです。どうしたらよいのでしょうか。それとも、この関数で、検索条件を複数でしていできないのでしょうか。

その他の回答 (5)

  • 回答No.6

> 検索対象は文字列でないと検索できないんでしょうか? 「できない」かどうかは試せば分かるでしょう。 とりあえずワイルドカードは文字列を表現する記号です。 「ワイルドカードを使って数値を検索する」のが目的なら =COUNT(INDEX(SEARCH("??1??",TEXT(A1:A10,"00000")),0)) Enter確定 =COUNT(SEARCH("*1??",A1:A10)) Ctrl + Shift + Enterで確定 のような形で計算できます。……あんまり意味はないでしょうけど。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。試してみます。

  • 回答No.5

セルの桁数が5桁かつ先頭から3番目も数値が1の場合セルをカウントするのであれば下記で可能です。 画像のB1式 =SUMPRODUCT((MID(A1:A10,3,1)="1")*(LEN(A1:A10)=5))

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。試してみます。

  • 回答No.3
  • bunjii
  • ベストアンサー率43% (3558/8174)

>例えば、COUNTIF(A1:A10,"??1??") と入力した場合、A1からA10は数値では検索できず、文字列でないと検索できませんか? 駄目みたいです。 代わりの方法を考えれば良いでしょう。 =SUMPODUCT(MID(A1:A10,3,1)="1")*1)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。試してみます。

  • 回答No.2
  • msMike
  • ベストアンサー率20% (290/1424)

そんな場合は次のようなことをしては如何かと 例えば右隣に空き列を作って、式 =TEXT(A1,"00000") を入力したセル B1 のフィルハンドルを「エイヤッ!」とダブクリした後で、澄ました顔で式 =COUNTIF(B1:B10,"??1??") の戻り値を流し目で見る。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。試してみます。

  • 回答No.1
  • aokii
  • ベストアンサー率23% (4383/18418)

COUNTIF(A1:A10,"??1??") と入力した場合、A1からA10は数値では検索できず、文字列でないと検索できません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。やはり、文字列でないと検索できないんですね。

関連するQ&A

  • countif関数の検索条件について

    OS:Windows XP Professional SP2 Excel:2003 SP2 countif関数の結果が想定通りに返ってこないので、 どなたか原因の分かる方がおられましたらご教示をお願いします。        A列        B列 1 012345678901230555010 4 2 012345678901230555020 4 3 012345678901230555030 4 4 012345678901230565049 4 5 012345678901230900000 2 6 012345678901230902340 2 7 01234567890123090235  1 セルB1には「=countif(A:A,A1)」と入力しています。 ※B2、B3と同様にコピーしており、検索対象を変更しています。 A列の上記7レコードは全て違う文字列であるため B列の結果は全てが「1」になると思っていたのですが 上記のような結果が返ってきました。 A列の文字列を注意深く見ると、以下の条件全てを満たすものは 同じ文字列と認識しているようです。 1、文字数が同じ 2、1文字目から15文字目まで同じ文字列 例えば1レコード目から4レコード目は「0123456789012305」が同じですが 5レコード目は「0123456789012309」と16文字目が異なります。 これは何故でしょう、excelの制限でしょうか。 よろしくお願いします。

  • 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関数について

    二つの列にそれぞれ数値が入っている場合に、クロスしたデータの個数をカウントしたいのですが、どのような式を使えばよいかお教え下さい。 例えばA1~A10に20,30,20、・・・と規則的に入力されていて、B1~B10に1、2、3、1、2、3、・・・とこちらも規則的に入力されている場合で、A列が20でB列が3の場合、クロスした値は2個となるのですが、それをCOUNTIF関数で計算させたいのですが、...何か良い方法はありませんでしょうか。

  • EXCEL関数の”COUNTIF”について教えてください

    セルA1~A10に1~10の数字を入力して、8以上の数字の個数を数えるには【=COUNTIF(A1:A10,">=8")】という関数を使えば、3個と出てきますよね。 例えば3以上~8以下の個数は何個かという式は出来るのでしょうか? 困ってます。教えてください。

  • COUNTIF関数がうまく行かないとき

    Excel 2013です。 37385行14列の表で、二つの列のデータが重複している行を抽出したいとなりました。 二つの列のデータは分類番号のようなもので、ゼロから始まるものもあるので文字列として入力された数字です。 そこで、その二列をCONCATENATE関数で繋いだ数字の並び(N列に配置)をCOUNTIF関数で調べる(O列)ことにしました。 すると、N列の値が異なるセルを同じとみなしてカウントしたようなO列の値がいくつか見られました。 そこで、N列のセルにNUMBERVALUE関数を追加し数値にしたところ、一見うまくいっているようにみえます。 これはなぜ起きたのでしょうか? また、臨んだ結果が得られていると確認する方法がありますでしょうか? N列は文字列のときは文字列長0~18までありました。 よろしくお願いします。

  • エクセルのCOUNTIF関数について

    エクセルのCOUNTIF関数について、というかCOUNTIF関数でよいのかどうかもよく分からないのですが、教えて下さい。 (1)まず、ワークシートのA列の1~100行目までの100マスを範囲として、数値を入力していくときに、仮に同じ数値を入力しようとしても、入力ができないようにしたいのです。 (2)次に、ワークシートのA列とC列のそれぞれ1~100行目までの合計200マスを範囲として、(1)と同じことをしたいのです。(つまりB列はとばして) (1)と(2)のようなことは可能でしょうか? お分かりの方がおられましたら、ぜひよろしくお願いします!

  • Excel2010でcountif関数について

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

  • excel countif関数の動作について

    excelのcoutif関数を使用して300行ぐらいの文字列が入った列から特定の文字列の個数をカウントさせているのですがなぜかうまくヒットしてくれません。=countif(B4,$D$3:$D$303)と入力 して300行ぐらいコピーしたのですが、結果が”0”となってしまいます。ところが、カウントしている文字列がD3:D303の中にあることは目視で確認できます。exclのサーチコマンドでもヒットします。カウントする文字列とカウントされる文字列をif文で比較してみても同じものだと認識されるようです。何が原因でカウントされないのかよくわかりません。countif関数 を使用するうえで特定の条件があるのでしょうか?d3:d303のデータはソートしています。

  • Excelで、countif関数の範囲指定でシート名指定をするとき、セル参照にしたい

    Excelのcountif関数の対象範囲に指定するシート指定名に、他セルに記入した文字列を使いたいのですが、うまくいきません。 例えば、Xシートの$A$1:$A$20の範囲内の”出席”文字列数を別シート上で計算させたいのですが、ストレートにやれば、    =countif(`Xシート`!$A$1:$A$20, "出席")    となります。 これを、A1セルで、Xシート という文字列を記述した上で、別セルにて、    =countif(A1!$A$1:$A$20,"出席") のように記述したいのです。indirect関数はうまくいきませんでした。どなたか、ご教授をお願いします。

  • エクセルの関数とマクロについて

    (1)のお願い! 例えば関数で =COUNTIF(A1:A10,"*") と記述すれば「A1:A10のセル範囲に文字列のセルは何個あるか」ということですが、これをマクロではどのように記述しますか?教えて下さい。 (2)のお願い! マクロを本格的に勉強したいのですが、関数については理解できてますので、関数とマクロの記述の比較が出来れば私にとって非常に便利なのですが、そのような事を記載した書籍やWebサイトはないものでしょうか?