こんにちは
1人でパソコン処理と戦っているあなたのお手伝い、
講師のパソ子です。
今日のお悩みはこちら↓
質問:「*(アスタリスク)」が何個あるか数えたい。
質問です。
セルに入力されている「*(アスタリスク)」を数えようと
=COUNTIF(E4:E12, "*") としたのですが、
*以外の文字が入力されたセルもカウントされてしまいます。
どうすればできますか?
とにかく文字が入ったセルがカウントされて困っています。
こうすれば解決:「 ~(チルダ)」を入れて検索すれば解決!
確かにそのまま=COUNTIF(E4:E12,"*") だと 「*(アスタリスク)」は「何文字でも文字列のあるところ」をすべてをカウントしてしまいますね。
こんなことになります。
本当は「*」の数を「2」としたいのですが、
文字が入っている場所すべてをカウントしてしまいました。
こういう時は「* 」の前に、「 ~(チルダ)」を入れて下さい。
これで、「* 」が1文字だけ入力されているセルの数を返してきます。
?(クエスチョンマーク)も同じです。
また、任意の1文字を表す「 ?(クエスチョンマーク)」も
とすると1文字だけ入力されてるセルの数を返してきます。
先程の表だと1文字だけなのは7セル
とすると2文字だけ入力されてるセルの数を返してきます。
2文字だけのセルは2になってます。
では、「?」1文字だけ入力されているセルの数をカウントするには?
こういう時も「* 」の前に、「 ~(チルダ)」を入れて下さい。
とすると「?」が1文字だけ入力されているセルの数を返してきます。
「?」が1文字だけ入力されているセルの数は2
「 ~(チルダ)」を入れるとその直後の一文字が「文字」として認識される
どういうことですか?
(A):=COUNTIF(E4:E12,"?")
(B):=COUNTIF(E4:E12,"~?")
(C):=COUNTIF(E4:E12,"?~?")
(D):=COUNTIF(E4:E12,"~??")
(E):=COUNTIF(E4:E12,"*~?*")
があると
(B)は?(クエスチョンマーク)という文字自体。
(C)は何か任意の1文字のあとに?マーク1文字ついたもの。
(例)A? や B? など)
(D)、(E)は考えてみて下さい。
まとめると
よーく見てね
おまけ問題:これはどうなるかな?
(A):=COUNTIF(A1:E10,"*")
(B):=COUNTIF(A1:E10,"~*")
(C):=COUNTIF(A1:E10,"~**")
(D):=COUNTIF(A1:E10,"~*~*")
(E):=COUNTIF(A1:E10,"~*~*")
(F):=COUNTIF(A1:E10,"*~**")
はそれぞれ似てますが結果が変わってきます。
ご興味のある方は、ご自分のExcelで試してくださいね。
(答えは下にありますよ)
他にもいろんなパターンを探してみて下さいね。
(こういう場合分けもプログラミングの基本です。)
こんなこと、使う事ありますか?
と思われた方。
「*」や「?」を使いこなせるようになると
検索や置換が劇的に早く便利になりますよ。
覚えておいて損はありません。
また、やってみたけど
なんだかうまくカウントできないんですが?
と思われた方。
?や*が半角になっているかを確認してくださいね。
?や*は全角ですよ。
おまけ答え
【おまけ】:「 ~(チルダ)」を入力する方法
半角が入力される状態にしておいて、
Shift キー と、^キー(数字の0の2つ右のキー、だいたいひらがなの「へ」と書いてあるキーにあります)を同時に押せば入力できますよ。
笑顔になって頑張ってくださいね。
あなたのお悩み解決にお役に立てましたか?
これからも、少しでも早く作業ができるようなお役立ち技を書いていきますね。
浮いた時間であなたのやりたいことができますように
Excel技・パソコンヘルプ:パソ子
変わりますよ。
②ピボットテーブル作成も「マクロ」を使ってみませんか?
チャレンジするならこちらの本がお勧めです。
その他のパソコン技はこちら。