前回の記事で、エクセル関数のcountifの条件のところに「>10」などの式であってもダブルクォーテーションで囲むのはなぜだろう、とそのだいたいのふんわりとした解を書きました。
以下抜粋。
ところで、エクセル関数のcountifの条件のところに不等号記号を使うときとか式なのにダブルクォーテーションで囲む。
例 countif(A2:A10,”>10″) ←この“>10″の部分がなんで文字列みたいにしなきゃいけないのかずっと不思議だった。
なんで?と思って調べたところ、そこの条件の部分は文字列がくるか式がくるかわからないので、とりあえず文字列で受け取っておいて、内部で > …これは式だな、文字列ではないく式として処理してあげよう、という感じでやってくれているらしい。
じゃあ、文字列としての>10を数えたい場合はどうなるんだろう。とくだらないことが気になった。
****************
ちなみに以下だらだら書いていることの結論は、条件に等号不等号記号を使いたいときはダブルクォーテーションで囲む、ということが結論です。
関数IFやSUM等の関数を入れたいときはダブルクォーテーションで囲む必要はなく普通に入力します。=COUNTIF(範囲,SUM(1,2)) みたいに。
だらだら書いてしまったのけれども結論はつまるところそれだけなので先に・・・
****************
やってみた。
なお、CountIf関数は以下のように指定します。
「範囲」に調べたい範囲を指定
「検索条件」には文字列、数値、SUM等の関数、>=等の数学記号、セル位置指定等が入れられます。
上図のような関数のダイヤログボックス内で条件に>10と入力すると、自動で”>10″に修正されます。〇等の文字列を入力した場合も自動でダブルクォーテーションが付加された状態に修正されます。
関数ダイヤログボックスを使わず、セルへの直接入力の場合、以下のように入力すると、エラーが出ます。
=COUNTIF(A1:A10,>10) エラーになる
=COUNTIF(A1:A10,”>10″)
のように入力すると受け付けられます。エラーメッセージでは’ を入力するように言われているような気がするけどシングルクォーテーションを入力したら別のエラーになりました。ダブルクォーテーションならオッケー。
なお、セルへの直接入力の場合、〇等の文字列を入力する場合も同様に
=COUNTIF(A1:A10,”〇”)
と入力します。
ダブルクォーテーションなしで =COUNTIF(A1:A10,〇) と入力すると、エラーになりませんが正しい答えが得られません。
じゃあ、文字列で>10と入力されている場合数えてくれるのか?と思い試してみた。
セルA4~A7には文字列で >10 と入力してあります。
文字列>10をカウントするなら答えは4。10より大をカウントするなら答えは3。
結果は「3」でした。文字列の>10は数えてくれなかった。。。
なお、条件式に関数を入れる場合はダブルクォーテーションは必要ないようです。
例 =COUNTIF(A1:A9,IF(TRUE,”〇”,”×”))
もっと試してみた。
=COUNTIF(A1:A9,=1+10) ⇒ エラーメッセージ表示✕
=COUNTIF(A1:A10,”=1+10″) ⇒ 0 → 11は1個なので正しい答え得られず✕
=COUNTIF(A1:A10,”=〇”) ⇒ 2 → 〇は2子なので正解◎
=COUNTIF(A1:A9,Sum(1,10)) ⇒ 1 →SUM(1,10)すなわち11は1個なので正解◎
ん?イコール入れないといけるかも?
=COUNTIF(A1:A9,1+10) ⇒ 1 →お、いけた◎
なんか、条件のところは=を入れることは違反で(IF式の入れ子に=IF(=IFとやったらエラーになるように)、=><の類は入れることはできず、でもCOUNTIFについては入れたいくなる状況が多々あり、””をつけることで入れられるようにしてくれたのかしら。
SUMIFもしかり。
なんて、想像してみた。
あくまで個人の勝手な想像です。
今日一日これに費やしたのかと思うと、なんか後悔。。。
くだらないことをつつきまくってしまった気がしてきた。
でも、ブログをやってよかったと思うことは、結構気になったことはちまちま調べたりするのですが、2・3日たつと忘れてしまう。ブログに書くと記録は残るし、頭にもちょっとは焼き付きような気がするので、いいな、と思っております。
ちなみに記憶力がスーパー悪いのですが、サスペンス好き(特に相棒と名探偵コナン)としては結構よいことがある。しばらくたつと犯人やトリックを忘れるので何度見ても楽しめる!今は相棒とコナン視聴で手いっぱいだけど、老後は旅館女将デカとかくだらなそうな2時間サスペンスもくまなく視るのが今の私の夢。
最後まで読んでくださっちゃった方がいらっしゃったら、こんな文章ですみません。
コメント