人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

質問です
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") ),"★","")

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

のはなぜですか?

●質問者: inosisi
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

質問者から

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

では★星はつきます


1 ● きゃづみぃ
●40ポイント

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

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

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

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


inosisiさんのコメント
そうすると31日の月と2月は30日にすることになりますね

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

きゃづみぃさんのコメント
一か月前の場合、その一か月前がいつなのかということで とらえ方が 微妙です 。 たとえば 10月31日の一か月前は 何月何日となりますでしょうか? 45日前ならば =IF(INT(TEXT(NOW(),"yyyymm")) >= INT(TEXT(DATE(2013,10,29-45),"yyyymm") ),"★","") というように 日付のところで -45とすればいいです。

2 ● a-kuma3
●60ポイント ベストアンサー
=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 なので★が付きません。


inosisiさんのコメント
そうすると31日の月と2月は30日にすることになりますね

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

a-kuma3さんのコメント
>> 通常のカレンダーの月の31日で1ケ月まえに★が付く関数はできますか << 当日が 10/31 の場合には、どこに★をつければ良いですか? 9/31 がありません。

inosisiさんのコメント
追加の質問は中止します

inosisiさんのコメント
1ケ月前はやめて45日で日にちで追っかけます

inosisiさんのコメント
=IF(INT(TEXT(NOW(),"yyyymm")) >= INT(TEXT((EOMONTH(O25,-1)),"yyyymm") ),"★","") この関数だと1ケ月まえに★がつきますので 45日前とケースバイケースで使用するつもりです

inosisiさんのコメント
質問が不備ですみませんでした ありがとうございました
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ