• ベストアンサー

#はワイルドカードとして#は使えないのですか?

COUNTIF関数のワイルドカードとして#は使えないのですか? A1に「12年8月分」と入力してB1に 「=COUNTIF(A1,"*#月*")」と入力すると、0が返ります。 #は、数値と言う意味のワイルドカードだと思っていたのですが機能していないようです。 「=COUNTIF(A1,"*月*")」にすると1が返ります。 「=COUNTIF(A1,"*?月*")」も1が返ります。 もしかして、8月分の8は数値として認識されてないのでしょうか? それとも#が使えないのでしょうか?

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.1です。 たびたびごめんなさい。 質問の最後に >もしかして、8月分の8は数値として認識されてないのでしょうか? とありましたので、 もしかして、一桁月を検索したい!というコトでしょうか? もしそうであれば一例ですが、↓の画像のようにD列に一桁月の表を作成しておきます。 (A1セルの数字が半角であれば、D列も半角の数字に!) そしてB1セルに =OR(ISNUMBER(FIND(D$1:D$9,A1)))*1 という数式を入れShift+Ctrl+Enterで確定(配列数式に)すれば 画像のように「1」が表示され、二桁月の場合は「0」が表示されます。 この程度ですが何度も失礼しました。m(_ _)m

DEMVWKZZOAE
質問者

お礼

ありがとうございました。

その他の回答 (2)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

http://office.microsoft.com/ja-jp/excel-help/HP005203612.aspx?CTT=1 参照いただけるとお解りの通り、ワークシート上での検索等で使えるワイルドカード文字は 「*、?(共に半角で)」だけのようです。 一般的な検索機能(Ctrl+F)で試してみましょう。 検索する文字列:「*月」「?月」だと検索してきますが、「#月」は検索できません。 つまり、ワークシート上では「#」をワイルドカード文字として扱えない、ということです。 ところで > 「=COUNTIF(A1,"*?月*")」も1が返ります。 > もしかして、8月分の8は数値として認識されてないのでしょうか? の件ですが、 > A1に「12年8月分」 という文字列で入っている以上、その一部である「8」も文字列ですよ。 (当然、分解してやると数値にも出来ますが。) ついでに、 ワイルドカード文字としての「*」は「任意の数(0以上)の文字」に相当しますから、 「*?」と指定すると「何でも良いから1文字以上」という意味で使えます。 このケースだと問題にならないかもしれませんが、区別して覚えておくと便利に使えますよ。 例えば「*月」とすると、「1月」も「12月」も、あるいは「月」一文字でもヒットしてきます。 これを「*?月」とすると、「1月」と「12月」はヒットしますが、 「月」一文字のセルはヒットしてきません。 更に「*??月」とすると“2文字以上”ですから、「12月」だけがヒットします。 (どちらにしても、「月」のケースだと使い途は無いに等しいですけどね。  「平成13年1月」などとなるとどうやってもヒットしますから。) といった具合に、「対象の前に何文字以上あるセル」を検索するときに組み合わせて使えます。 以上、豆知識でした。

DEMVWKZZOAE
質問者

お礼

ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! Excelでワイルドカートとして使える文字は * ? ^(チルダ)の3種類だけのようですね。 ↓のURLが参考にならないでしょうか? http://www.excel-img.com/database07.html さて、「#」はワイルドカードとして使えない!というコトを理解していただいた上で・・・ COUNTIF関数はセル数をカウントする関数ですので 質問の最初の >=COUNTIF(A1,"*#月*") はA1セルに「#月」という文字列が含まれていれば当然「1」が返ります。 今回のA1セルの 12年8月分 は8があろうがあるまいが関係なくそのセル全体が文字列になります。 すなわち「8」は当然数値ですが、単に「8」という一文字にすぎません。 ※ ワイルドカードの「?」は一文字のワイルドカードになりますので、 =COUNTIF(A1,"*?月*")の「?」は全く意味がなく =COUNTIF(A1,"*月*")と同じコトになります。 仮に =COUNTIF(A1,"??年*") のようにすれば A1セルに 12年8月分 があると「1」が返り 9年8月分 のような場合は 「0」が返ります。 以上長々と書きましたが参考になりますかね?m(_ _)m

DEMVWKZZOAE
質問者

お礼

ありがとうございました。