電子書籍の厳選無料作品が豊富!

お世話になります。

◆COUNTIF関数またはダブルクォーテーションについて◆
※よく似た質問を見かけたのですが、私が聞きたい内容と微妙に違うので質問させて頂きます。

COUNTIF関数
【=COUNTIF(範囲,検索条件)】にて
引数に文字列または条件式を指定する場合は
文字列や条件式の前後に「"ダブルクォーテーション」を入力します。

文字列をダブルクォーテーションで囲むのはわかります。

でもなぜ条件式もダブルクォーテーションで
囲むのでしょうか(“>=80”)
「範囲の中で80以上を算出してね」
というとき
=COUNTIF(範囲,>=80)
はなぜだめなのか。。。
なぜ
=COUNTIF(範囲,">=80")
とするのか。。。

例えばIF関数で、
「A1のセルが100以上なら◯そうでなければ×」
というときに、
=IF(A1>=100,"◯","×")
となりますが、
「A1>=100」という式の部分にダブルクォーテーションはありません。

大変お恥ずかしいのですが、
教えて頂ければ幸いです。

A 回答 (2件)

if 関数の場合は、第一引数の所は条件式と決まっているわけですね。


countif 関数の場合は、引数が条件式なのか文字列なのか分からない。

そういう場合に、
① いったん全て文字列として入力してから
② プログラムの中で、それが本当に文字列なのか、または条件式なのか判断し
③ 場合分けをして対応
という手順を踏む事があります。

countif は、そのパターンだと思います。
    • good
    • 2
この回答へのお礼

大変わかりやすい
ご回答ありがとうございます。

理解することができました。

お礼日時:2018/11/13 23:28

データには型というものがあります。

数字を指定されたら数字を、文字を指定されたら文字を、真偽値(=か≠か)を指定されたら真偽値を入れてあげないとうまく動きません。
IF関数の最初には真偽値を指定しなくてはなりません。
COUNTIF関数の二番目には文字を。
作った人がそう決めたのでそうなっています。
COUNTIF関数はおそらく不等号を「ただの文字」として受け取って、内部で本来の「不等号」として処理しているんだと思います。

また、同じ「Excel」で動いていてもそれぞれの関数は、別々のソースコードで動いています。
「IF関数がこうだから、COUNTIFもこう。」とは限りません。
    • good
    • 0
この回答へのお礼

大変わかりやすいご回答
ありがとうございます。

理解することができました。

お礼日時:2018/11/13 23:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!