アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel 関数ifについて

セルa1から a100の中に、たとえば 好き ということばがあるかどうかをチェックするとき、

if(countif(a1:a100,"*好き*"),1,0)

と指示されました。

本来ならcountifが1より大きければ1を返すのですから、

if(countif(a1:a100,"*好き*")>0,1,0)ですよね?

論理式の >0って 省略できるんですか? 正なら真、0以下なら偽と解釈されるんでしょうか?

A 回答 (3件)

正しくは仰る通りに


if(countif(a1:a100,"*好き*")>0,1,0)
ですが、

数値を真偽値としてみた場合
0はFALSE(偽)
0以外はTRUE(真)
として判定されます


=IF(A1,TRUE,FALSE)
と書いて、A1に色々な値を入れて試してみてください
    • good
    • 0

> 本来ならcountifが1より大きければ1を返すのですから、


> if(countif(a1:a100,"*好き*")>0,1,0)ですよね?

その通りですが、

 if(countif(a1:a100,"*好き*"),1,0) と指示された方は、
 =IF(論理式,TRUE,FALSE) の論理式を
 countif(a1:a100,"*好き*") とされただけです。
(論理式が違うだけです。)

計算結果は、あなたの式と同じ「1」か「0」が表示されます。
    • good
    • 0

》 …と指示されました



その指示した人は Excel の性質に精通した達人とお見受けしました。


》 論理式の >0って 省略できるんですか?

該当する論理式部分が COUNTIF関数の場合はそうなります。なぜなら、当該関数は0以上の数値を返し、負数は返さないから。


》 正なら真、0以下なら偽と解釈されるんでしょうか?

違います。
正確に言えば、少なくとも IF関数の条件としては、0なら偽、0以外(負数も)なら真と、Excel は解釈します。

貴方の質問は、Excel初心者としてはとても良い質問だと思います。
    • good
    • 0

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