プロが教えるわが家の防犯対策術!

L75が1.91のとき、L75が1.9以上かつ2以下のとき、真なら1を、偽なら0を出す式を書きました。
=IF((L75>1.9)AND(L75<=2),1,0)
こう入力するとエラーが出て*をつけるよう聞いてきます。
すなわち、エクセルの修正後は
=IF((L75>1.9)*AND(L75<=2),1,0) 結果は1(真)になりました。
というものです。
ところで、*は必要ですか?ないといけないのでしょうか?
そして、*があっても同じ結果となるのでしょうか?
*は掛け算しかわからず、よろしくお願いします。

A 回答 (5件)

L75 が 1.9 「超」かつ 2 以下なら 1 を、さもなければ 0 を返す式:



=(L75>1.9)*(L75<=2)

相変わらずですね。
「L75」でなければならない必然性は、回答者にとっては無い筈ですよね。
以上と超の違いも正確にお書きになっていないし。
    • good
    • 0

#02です。

#01さんの補足に対する回答です
COUNTIF関数には検索条件をAND( )でつなげて記述することはできません

複合条件で件数を数えたいなら
 =SUMPRODUCT((L76:L85>0.9)*(L76:L85<=1)*1)
のような関数になります。(本当は配列の積を求める関数ですが、個数のカウントにも使えます)

この回答への補足

>COUNTIF関数には…
ありがとうございます。

>=SUMPRODUCT((L76:L85>0.9)*(L76:L85<=1)*1)
なるほど。
エクセルでやってみました。
実にうまく動きました。
ありがとうございました。

ところで、今本で確認しているのですが、
(L76:L85>0.9)がtrueで
かつ
(L76:L85<=1)がtrueのときに
true*trueのときのみ「1」が出る。すくなくとも片方がFALSEならば「0」となる。
ということですね。

ところで最後の*1はなぜ必要なのでしょうか?

何度もおしえていただき申し訳ありませんがよろしくお願いします。

補足日時:2006/08/20 21:42
    • good
    • 0

> (L75>1.9)*AND(L75<=2)



(L75>1.9)
の式は、L75が1.9より大きい場合1、そうでない場合0となります。

L75<=2
の式は、L75が2以下の場合1、そうでない場合0となります。

AND(L75<=2)
の結果も同じです。

上の2つを掛け合わせると、

L75が1.9より大きい場合で、なおかつL75が2以下の場合のみ1、それ以外は0となります。

=IF(AND(L75>1.9,L75<=2),1,0)
=IF((L75>1.9)*AND(L75<=2),1,0)
=IF((L75>1.9)*(L75<=2),1,0)
などは、同じ結果になってるって事です。

--
> *は掛け算しかわからず、

テクニックとして上のようにANDを数値の積で代用する方法があります。
ANDが「論理積」って呼ばれる理由です。
    • good
    • 0
この回答へのお礼

>=IF(AND(L75>1.9,L75<=2),1,0)
>=IF((L75>1.9)*AND(L75<=2),1,0)
>=IF((L75>1.9)*(L75<=2),1,0)
>などは、同じ結果になってるって事です。
ありがとうございました。

>ANDが「論理積」
なるほど。

お礼日時:2006/08/20 20:29

OFFICEは2003ですか? 関数の教科書では#01さんの使い方が一般的ですが、



=IF((L75>1.9)*(L75<=2),1,0)
でも良いです。ただし「*」は必要です。「*」がand条件を意味するからです。

なおAND(L75<=2)のANDは不要です。それは()内に条件が1つしかないため、ANDをとっても無意味だからです。
    • good
    • 0
この回答へのお礼

>OFFICEは2003ですか?
EXCEL97です。(笑)
>「*」がand条件を意味するからです。
勉強になりました。
ありがとうございました。

お礼日時:2006/08/20 20:27

and関数の使い方が間違っているような。



=IF(AND(L75>1.9,L75<=2),1,0)

質問者さんの式だと
(L75>1.9)とAND(L75<=2)の式を掛け算した結果をIF文の評価の材料にしています。

ところで
>1.9以上
なら
L75>=1.9
ですが。

参考URL:http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/ …

この回答への補足

>and関数の使い方
ありがとうございます。
助かりました。

ところで同様ANDについて教えください。

以下データの中から1以下かつ0.9超の個数を求めるため式を書きました。
答えは1(個)です。
まず、=COUNTIF(L76:L85,(”>0.9”))は正常に1(個)の結果が出ます。
しかし、
=COUNTIF(L76:L85,AND(">0.9","<=1"))
とかくと結果は0(個)になります。(正解は1個)
これもANDの間違えでしょうか?
どうすればいいのでしょうか?
よろしくお願いします。

(データ:L76:L85))
0.559842
0.957883
0.168820
-0.451871
-0.407157
-0.520579
-0.964743
0.164072
-0.558127
0.053740

補足日時:2006/08/20 20:25
    • good
    • 0

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