2016-04-28 18 views
0

したがって、B:B列にあるより早い日付と今日の月数を単純に数えようとしています。月数を数えたら、その結果に28を掛けて元の日付に戻します。要件:結果> =今日はですので、結果が今日よりも少ない場合は、さらに28日を追加する必要があります。私が作った現在の式は、今年の日付がある場合にのみ作用します(この式が働くかどうかは100%確信していませんが、これまでのところ表示されます)。Excelでの2つの日付の間の月数の計算

ここに私のいない式があります。私の上記のコメントと私はここで達成しようとしています何の下記の式から一般的なアイデアを得る:

=IF(B89="","",IF(I89="X","LEG",IFERROR(IF((MONTH(TODAY()-B89)*28)+B89<TODAY(),(MONTH(TODAY()-B89)*28)+B89+28,(MONTH(TODAY()-B89)*28)+B89),"Future")))

はあなたの援助のために事前にありがとうございます!

注:I89への参照は上記で重要ではないことを指摘したいだけです。間違ったかっこや他のタイプミスを削除した場合には削除したくないので、そこに残すことにしました。したがって、基本的に最初の2つの「IF」文やIFERRORについて心配する必要はありません。

2ND EDIT:このような何かについてどのように

IF((MONTH(TODAY()-B89)*28)+B89<TODAY(),(MONTH(TODAY()-B89)*28)+B89+28,(MONTH(TODAY()-B89)*28)+B89)

+1

あなたはいくつかのサンプルデータと期待される結果を提供していただけますか?具体的にあなたが探しているものは不明です – tigeravatar

+0

これは役立つかもしれません:https://support.microsoft.com/en-gb/kb/214134 – Jordan

+0

B1の日付が1/1/16の場合、数式は05の日付を計算する必要があります/ 20/16(さもなければ、4/20/16は過去にあったでしょう)。これらの口座を4週間ごとに見直したいと思っています(これにより、経過月数に28が掛けられています)。しかし、B1の日付が1/8/16だった場合、実際には日付が4-29-16と計算されます。 –

答えて

2

この目的では、MONTH()を使用しないでくださいいくつかのケースでは間違った結果につながり、確かにB89の日付が別の年になると確信しています。

代わりにあなたがB89以来、28日の最後の倍数を過ぎた日数を参照し、(減算することによって)その日に戻って、そしてそれに別の28を追加します。

=TODAY() + 28 - MOD((TODAY()-B89), 28) 

最も早い日付これは明日の日付です。今日は式の許容結果でなければなりません場合は、この式では、その結果、TODAY()-1TODAY()を置き換える:

=TODAY() + 27 - MOD((TODAY()-1-B89), 28) 
+0

返信いただきありがとうございます! 2番目の公式は大きく働いた(それは私が思いついたものよりずっと簡単です)。ありがとうございました!! –

+0

あなたは大歓迎です。 – trincot

0

=IF(B89="","",IF(I89="X","LEG",IF(IF(B89<=TODAY(),B89+28*IF(AND(B89<TODAY(),TEXT(B89,"mmyy")=TEXT(TODAY(),"mmyy")),"1",(TEXT(TODAY(),"yy")*12+MONTH(TODAY()))-(TEXT(B89,"yy")*12+MONTH(B89))),"Future")<TODAY(),TODAY(),IF(B89<=TODAY(),B89+28*IF(AND(B89<TODAY(),TEXT(B89,"mmyy")=TEXT(TODAY(),"mmyy")),"1",(TEXT(TODAY(),"yy")*12+MONTH(TODAY()))-(TEXT(B89,"yy")*12+MONTH(B89))))))) 

を手に入れた私は式を下にストリップすることを決めさて、オリジナルのポストの計算式は以下の剥奪バージョン、上記であります少し時間がかかりましたが、多くの基準があります:)

+0

最終結果は28の倍数で今日の日付と同じかそれ以上でなければなりません。したがって、最初の日付から3ヶ月が経過した場合、3か月を要し、28(= 84)元の日付に84日を追加します。それもまた切り上げる必要があります。その結果が今日より前だった場合は、さらに28日(4週間)を追加する必要があります。 –

+0

私はあなたの基準に上記の私の公式を修正しました。今度は毎月、B89の日付に28日追加します。 –

+0

申し訳ありませんが、同じ月の基準を逃しました。今修正されました。 –

関連する問題