• ベストアンサー

AND関数について

a1 に 2002/2/2,a2 に 2005/3/3 が入力されている時 =AND(a1>=2001/11/30,a1<=2002/12/31,a2>=2005/1/1) で FALSE が返されます、如何してでしょうか、教えてください。

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

  • ベストアンサー
回答No.1

それぞれ1項目ずつif文で判定すると、a1<=2002/12/31がfalseになるようです。どうやら文字列として比較しているようです。 こう書けば問題ないですね。 A1<=DATE(2002,12,31)

hoshi7777
質問者

お礼

有り難うございました、助かりました。

その他の回答 (3)

  • mneko
  • ベストアンサー率33% (46/139)
回答No.4

#1のかたと同じようになりますが、次のようにして下さい。 =AND(A1>=DATE(2001,11,30),A1<=DATE(2002,12,31),A2>=DATE(2005,1,1)) これで、結果はTRUEになります。

hoshi7777
質問者

お礼

有り難うございました、助かりました。

  • digitalian
  • ベストアンサー率29% (323/1104)
回答No.3

ANDの第2項ですが、 A1<=2001/12/31        ↑ これでは、日付ではなく、割り算です。 私は Excel を持っていないのですが、たぶん、セルA1 を数値型で表すと、32789になると思います。 つまり上式は、 32789<=2001÷12÷31 すなわち 32789<=5.379…… を比較しているので、FALSE になってしまうのです。 #1 のかたの回答を参考にして、DATE() 関数を使うと、うまくいくと思いますよ。

hoshi7777
質問者

お礼

有り難うございました、助かりました。

  • jmh
  • ベストアンサー率23% (71/304)
回答No.2

=AND(A1>=DATE(2001,11,30),A1<=DATE(2002,12,31),A2>=DATE(2005,1,1)) としてみたらどうですかね? <= 左辺の日付はシリアル値(確か整数)に、 右辺の / は割り算に解釈されてしまうんだと思います。 で、比較すると偽になるというわけです。

hoshi7777
質問者

お礼

有り難うございました、助かりました。

関連するQ&A

専門家に質問してみよう