2016-12-28 10 views
0

次の式を設定して、次の週に誰かの誕生日が来るかどうかを判断します。12月から1月までの周回年月

= IF(AND(Q2>(TODAY()+ 4)、Q2 <(TODAY()+ 12))、 "はい"、 "いいえ")

*注:Q2は、人の誕生日ですしかし、2016年です(つまり、1920年12月20日は実際に12/20/2016です)

次の週がおよそ12月中旬になると年。次の週の範囲を翌年の1月(2016年12月から2017年1月まで)にするにはどうすればよいですか?

答えて

1

あなたが日付に加えて数日が来年になることを考慮に入れるために

=date(2016,month(q2),day(q2)) 

のような式で、現在の年に日付を入れることができ、あなたが使用することができます

=date(year(today()+ajustment),month(q2),day(q2)) 

あなたの全体の式は、その後、次のようになります。

=IF(AND(DATE(YEAR(TODAY()+4),MONTH(Q13),DAY(Q13))>(TODAY()+4),DATE(YEAR(TODAY()+12),MONTH(Q13),DAY(Q13))<(TODAY()+12)),"Yes","No") 

今式は、新しい年の日付のために働く、トンああ。

+0

それは私の元の問題に私を連れて行っている – anra

+0

私は最初の数式を投稿した後にいくつかの編集をしました。これは変更なしで年間の変更を経て今働いています。 – teylyn

+0

私はそれを思った! – anra

0

解決策は、月と日だけをスクリーニングする必要がある場合、ソリューションが年に依存することです。これは、TEXT(...)関数を使用して実行できます。例えば

=VALUE(TEXT(I2,"mm"))

は数としての月を返します。これはあなたが探していたものに近いですか?

ここ

は、溶液は、このアプローチを使用してどのように見えるかです:

=IF(AND(VALUE(TEXT(G2,"mm"))=VALUE(TEXT(TODAY(),"mm")),VALUE(TEXT(G2,"dd"))>(VALUE(TEXT(TODAY(),"dd"))+1),VALUE(TEXT(G2,"dd"))<(VALUE(TEXT(TODAY(),"dd"))+12)),"Yes","No") 

また、あなたが誰かの実際の誕生日を使用して、年ごとに時間を変更する必要はありませんでしたので、この解決策は、年に独立しています。

+0

詳細を教えてください。または、私が示した式の文脈に入れてください。ありがとう! – anra

+0

日付が離れた日数を試してみると、テキストはそれほど役に立ちません。 – teylyn

+0

それはもちろんです。効果的にするには、月と日の両方を比較するだけです。また、数値に変換することもできます(最新の編集をご覧ください)。 –

3

DATEDIFを使用して、指定した年月日を2つの日付の間で取得できます。例えば :

= DATEDIF( "START_DATE"、 "END_DATE"、 "D")

= DATEDIF( "2011年1月11日"、 "2011年10月11日"、 "D") 結果:9

スクラッチ:

Q3 = DATEDIF(今日、誕生日の日付、 "D")

= IF(AND(Q3> 4、Q3 < 12)、 "はい"、」いいえ ")

IF宣言の中でDateDiffを使用して、翌日に誕生日の評価を得ることができます。次の週の記念日は、この種の式ではなく、今日の4日と今日から12日未満の間に起こるものを得ることだけです。

関連する問題