• ベストアンサー

COUNTIFでの比較演算子について

こんにちは。 素朴な質問をさせてくださいm(__)m COUNTIFでの条件で比較演算子を使う時(30以上の時) (検索範囲,">=30")と記入しますが何故演算子なのに""でくくる必要があるのでしょう? それから30以上の部分を30の入ったセル番地で指定する場合 (検索範囲,">="&D10)・・・というような感じで&を利用する必要は どのような理由からなのでしょうか? 変な質問をしているようで申し訳ないのですがとても気になっております。どうか教えてくださいm(__)m

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

先日もSUMIFの質問に答えましたが、同じ方ではないようですね。 http://oshiete.homes.jp/qa3170831.html  ーー MSがそのように(文字列で引数を入れろと)作ったということに尽きるとおもいます。 IF(A1>B1,"",・・の例などありますから、 比較演算子は少数で限られていますから、割り出せないわけではないと思いますが。不統一になってますね。 しいて言えば、IFの比較部と引数の部分の違いが何かあるのかも知れない。 >索範囲,">="&D10)・・・というような感じで&を利用する必要は どのような理由からなのでしょうか? これは”>=”の部分が文字列である以上、文字列結合演算子&を使い、セル番地D10をくっつけています。 この段階ではまだD10の中身の数値は問題にされていない段階です。 D10には数値が入っているわけですが、引数のここを処理するとき 数字文字列に変換して">=10"と変換して引数として、関数ルーチンへ渡してくれるわけです。これはありがたいと思います。=INDIRECT() などの()内に指定するようなものなのだと思いますが。 こういう変換は(VBAなども含めるて)必ずこうなると言うわけでは ないように思い、警戒しながら使っています。 例="A"&1や="A"&"1"や="A"&A1は=A1と同じにはなりません。文字列と解釈されてしまう。Countifの第2引数も文字列だからこそうまくいくのかもしれない。 ウイザードではオペレータ(演算子)を別に入れさせているが 関数では、演算子は値とくっつけて指定する引数となっている。 IF関数で真偽を判定に使うところ以外はですが。 しかし演算子つきを引数として使う関数は余り多くないですね。COUNTIF、SUMIF、DSUM、DCOUNTぐらいか。 長い割りに、はっきりしない感じでしょうが、何か参考になれば。

wakudo
質問者

お礼

すみません。お二人のご説明があって初めて私の頭の中の疑問がすっきりしております。 この場をおかりしましてお二人へのお礼とさせてください。 本当にありがとうございます。 お二人のアドバイスあってこそです。 ですがポイントをつけなくてはなりません(>_<) ご回答いただいた順になってしまいますがどうぞ甲乙しがたい思いということをご理解ください。 本当にありがとうございました。

wakudo
質問者

補足

早速のご回答ありがとうございます。  *先日もSUMIFの質問に答えましたが、同じ方ではないようですね。 「似たような疑問を持つ方はやはりいらっしゃるのですね。初めてご質問させていただいております(*^_^*)」  *MSがそのように(文字列で引数を入れろと)作ったということに尽きるとおもいます。 「うーん。なるほどという気持ちで読ませていただきました。 普段IF関数をよく利用するのでなんとなく違和感を抱いておりました。」 でももう少し質問をしてもいいですかm(__)m 私の心の中では比較演算子は文字列というよりも数値だから比較しやすいのでは?なんて思い なぜMSは文字列で引数を入れろなんて考えるのかなぁーなんてまた疑問を持ってしまいました。 もしかすると私の思っている比較演算子への考えはおかしいのでしょうか。  *しかし演算子つきを引数として使う関数は余り多くないですね。COUNTIF、SUMIF、DSUM、DCOUNTぐらいか。 「その一言を伺い何故だかほっとしました。」  *長い割りに、はっきりしない感じでしょうが、何か参考になれば。 「いえ、そんなことないです。とっても参考になりました。ありがとうございます!!」

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

>何故演算子なのに""でくくる必要があるのでしょう これは、EXCELの仕様がそうなっているからです >&を利用する必要は 「&」は文字を結合する機能が有ります D10 に 40 と入っていれば">=40"と同じ意味になります このように、比較する数値を可変にしたい場合に、使います (D10は数値なのになぜ&で結合できるのかと言うと、EXCELが自動で変換しているからです)

wakudo
質問者

お礼

早速のご回答ありがとうございます。  *「&」は文字を結合する機能が有ります  *D10 に 40 と入っていれば">=40"と同じ意味になります  *このように、比較する数値を可変にしたい場合に、使います 順をおって説明をいただき最後の「数値を可変にしたい場合に・・・」 という所で頭の中の何かがカチッときました!! ありがとうございますm(__)m

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • COUNTIF関数で検索条件にセル番地を指定する方法を教えてください

    COUNTIF関数を使用しています。 検索条件にセル番地を指定する方法を教えて頂けますでしょうか。 例えば、下記の通りデータが入っていた場合に セルA1 = 90 セルB1 = 100 =COUNTIF(A1,"<=100") という式をセルC1に入力し、 セルA1の数値が100より小さい場合はデータ個数は”1”と返し、 セルA1の数値が100より大きい場合はデータ個数は”0”と返すようにしました。 しかし、 =COUNTIF(A1,"<=B1") という式のように 検索条件にセル番地を指定した場合は正しくデータの個数が1個だと表示されません。 どのようにしたらセル番地を指定しながら正しい結果を返せるのでしょうか。 恐れ入りますが、どなたかご教示頂けますでしょうか。 どうぞ宜しくお願いいたします。

  • Excel2010でcountif関数について

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

  • COUNTIFの反対の関数はあるのでしょうか?

    指定された範囲に含まれるセルのうち、検索条件に一致するセルの個数を数えるのにCOUNTIFを使っていますが、反対に条件に条件に一致しないセルの個数を計算する関数はないでしょうか?

  • countifで、セルを個別に選択したい

    countifで、セル範囲を選択するのではなく、個別にセルを選択する際、 各セルの間を , で区切ってしまうと、 一つ目のセルが「範囲」、二つ目のセルが「条件検索」となってしまいます。 これらの個別に選択されたセルを、両方とも「範囲」として、 条件は別に設定したい時に、どのように入力すればよろしいでしょうか。 具体的には、「A1とA2のうち、0以上のものの数を数えよ」 などという関数をつくりたいのですが、 =countif(A1,A2,">0") としてしまうと、「A1」が「範囲」、「A2」が「条件検索」となってしまいます。 「A1」「A2」を、両方とも「範囲」として、 「">0"」を「条件検索」としたいのです。 ご存知の方がいらっしゃいましたら、何とぞご教示願います。

  • エクセル COUNTIF 飛び飛びセルの範囲指定の方法について

    COUNTIFの範囲指定をするときに、離れている複数のセルを検索範囲として指定したいのですが、うまくいきません。ロータスならば出来たような気がするのですが、どなたがご存じの型がいらっしゃったら教えて頂ければ本当に有り難いです。

  • COUNTIFの件です

    countif の式で、 範囲もセルの指定もあっているのに どうしても結果の数字が違っています(>_<) どういう原因が考えられるでしょうか? =COUNTIF(data!C:C,I5) たったこれだけの式なのですが・・・(TT)

  • Excel 関数 COUNTIF の検索条件を他のセルの値にする

    お世話になります。 掲記の件でご教授お願いいたします。 COUNTIFで、ある値以上のセルを数える COUNTIF(範囲,">=数値") 例) COUNTIF(B1:B5,">=30")  30以上の値をB1からB5の範囲で数えなさい になります ここで、たとえばセルD1に30と記入しておいて COUNTIF(B1:B5,">=D1")  D1の値(30)以上をB1からB5の範囲で数えなさい に出来ません どのようにしたらできるのかお教えください。

  • COUNTIF関数

    COUNTIF関数の 質問します。 A1:A20 に 数値入ってるとします。 10以上の セル数を 求める 式は =COUNTIF(A1:A20,">10") ですよね? 質問なのですが 例えば、10以上20以下 の セル数を 求める時の 式は どういう 式に なるのでしょうか? COUNTIFでは できないのでしょうか? もし できないなら 他の 関数 教えてください。 よろしく お願い いたします。 エクセルは 2002です。

  • COUNTIFについて。検索するセルの範囲は、連続したセルしか指定できないのでしょうか?

    COUNTIFについての質問です。 検索するセルの範囲は、連続したセルしか指定できないのでしょうか? A5からZ5のセル列の中から"1"の数はいくつ? =COUNTIF(A5:Z5,"1") ですよね? 私がしたいのは、 A5、C5、H5、L5の選択したセルの中で"1"の数はいくつ? と指定したセルの中から"1"の数を数えて欲しいのです。 その場合、計算式はどうなりますか? Ctrlキーを押しながら選択…もしてみたのですが。 教えてください。 よろしくお願いします。

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

     エクセルの関数「COUNTIF」について・・・  早速ですが「COUNTIF」の入力方法なんですが、通常であれば表やデータから範囲を指定して入力可能なんですが、下図のように対象のセルが離れている場合はどのように範囲設定をすればよいのでしょうか?  コントロールを使用して範囲を指定してみたのですが、エラーになってしまいました。  この下記の場合はAとBの「●」の合計個数を出したいのですが・・もちろん正解は「20個」です。  乱文で失礼しますがよろしくお願いいたします。

DCP-J515Nの初期化ができない!
このQ&Aのポイント
  • DCP-J515Nの初期化ができない原因や対処法について教えてください。
  • DCP-J515Nの初期化に関するトラブルやエラーメッセージ、お使いの環境について教えてください。
  • DCP-J515Nの初期化中にクリーニング作業指示が残ったままで修復できない可能性があるかもしれません。お使いの環境や接続方法について詳しく教えてください。
回答を見る

専門家に質問してみよう