質問です

2013/9/3の時点で

=IF(INT(TEXT(NOW(),"yyyymm")) >= INT(TEXT(DATE(2013,10-1,29),"yyyymm") ),"★","")
上記関数では★星がつくのに

=IF(INT(TEXT(NOW(),"yyyymm")) >= INT(TEXT(DATE(2013,10-1,31),"yyyymm") ),"★","")

上記関数では★星がつかない

のはなぜですか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/09/03 12:14:46
  • 終了:2013/09/03 13:15:22
id:inosisi4141

=IF(INT(TEXT(NOW(),"yyyymm")) >= INT(TEXT(DATE(2013,10-1,30),"yyyymm") ),"★","")

では★星はつきます

ベストアンサー

id:a-kuma3 No.2

a-kuma3回答回数4537ベストアンサー獲得回数18882013/09/03 12:26:44

ポイント60pt
=IF(INT(TEXT(NOW(),"yyyymm")) >= INT(TEXT(DATE(2013,10-1,31),"yyyymm") ),"★","")

★がつかないと言っている方ですが、DATE の中身が 2013,9,31 です。
9月は30日までしかないので、これは 10月1日として計算されます。

 DATE(...)TEXT(DATE(...),"yyyymm")
2013,10-1,292013/9/29201309
2013,10-1,312013/10/1201310



比較されるのが NOW() から yyyymm でフォーマットされた 201309 なので★が付きません。

他5件のコメントを見る
id:inosisi4141

=IF(INT(TEXT(NOW(),"yyyymm")) >= INT(TEXT*1,"yyyymm") ),"★","")
この関数だと1ケ月まえに★がつきますので
45日前とケースバイケースで使用するつもりです

*1:EOMONTH(O25,-1

2013/09/03 13:22:38
id:inosisi4141

質問が不備ですみませんでした
ありがとうございました

2013/09/03 13:25:27

その他の回答(1件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982013/09/03 12:26:01

ポイント40pt

DATE(2013,10-1,31)は 計算すると 2013年9月31日となってしまいます。

2013年9月31日は 2013年10月1日になってしまいます。

なので ★がつかないのですね。

たぶん 2月なども同様の現象が発生するでしょう。

他1件のコメントを見る
id:inosisi4141

通常のカレンダーの月の31日で1ケ月まえに★が付く関数はできますか
45日まえに★が付く関数はできますか
できるのであれば100pあげます

2013/09/03 12:46:27
id:taknt

一か月前の場合、その一か月前がいつなのかということで とらえ方が 微妙です



たとえば 10月31日の一か月前は 何月何日となりますでしょうか?


45日前ならば
=IF(INT(TEXT(NOW(),"yyyymm")) >= INT(TEXT(DATE(2013,10,29-45),"yyyymm") ),"★","")

というように 日付のところで -45とすればいいです。

2013/09/03 13:15:00
id:a-kuma3 No.2

a-kuma3回答回数4537ベストアンサー獲得回数18882013/09/03 12:26:44ここでベストアンサー

ポイント60pt
=IF(INT(TEXT(NOW(),"yyyymm")) >= INT(TEXT(DATE(2013,10-1,31),"yyyymm") ),"★","")

★がつかないと言っている方ですが、DATE の中身が 2013,9,31 です。
9月は30日までしかないので、これは 10月1日として計算されます。

 DATE(...)TEXT(DATE(...),"yyyymm")
2013,10-1,292013/9/29201309
2013,10-1,312013/10/1201310



比較されるのが NOW() から yyyymm でフォーマットされた 201309 なので★が付きません。

他5件のコメントを見る
id:inosisi4141

=IF(INT(TEXT(NOW(),"yyyymm")) >= INT(TEXT*1,"yyyymm") ),"★","")
この関数だと1ケ月まえに★がつきますので
45日前とケースバイケースで使用するつもりです

*1:EOMONTH(O25,-1

2013/09/03 13:22:38
id:inosisi4141

質問が不備ですみませんでした
ありがとうございました

2013/09/03 13:25:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません