2

ここで初めて、私の質問は次のとおりです。

A2、B2、C2、D2、E2、F2の6つのセルがあり、各セルの値は数式によって駆動されます。

これらの各セルの上に、A1=10 月、B1=11 月、C1=12 月、D1=1 月、E1=2 月、F2=3 月のように月を指定しました。

私がやりたいことは、10 月にあるので A2 の値を表示することですが、B2、C2、D2、E2、および F2 の値は表示しません。11 月になっても A2 と B2 の値を表示しますが、残りではなく、12 月に A2、B2、C2 などを表示します。

私が現在使用している式は次のとおりです。

=IF(MONTH(TODAY())>=10,(C27+D24)-(Q15+E35),"0") 

それはすべてうまくいきますが、12月と1月になるとうまくいきません。これを使用する=IF(MONTH(TODAY())>=12と、12 月の値は表示されませんが、1 月になると 12 月の値は 0 と表示されます。

もう1つ、マクロを使用できません。再度、感謝します

4

2 に答える 2

1

10 月には次のようなものを使用できます。

=IF(TODAY()>=("1-"&A1&"-2013")*1,(C26+D23)-(U14+E34),0)

1 月になったら、年を に変更するだけ("1-"&A2&"-2013")*1です"-2014"("1-"&A2&"-2013")*1ちなみに、1、月、年を連結して日付値を生成し、 *1 はテキストを日付に変換するものです。

私が実際に追加TODAY()したのは、特定の月の 1 日以上であるかどうかを確認するチェックです。そのため、月と日付の両方がその特定の月以降である必要があります。

Excel スプレッドシートのサンプル

于 2013-10-16T04:18:38.440 に答える
0

これを試して:

=IF(DATEVALUE(TEXT(TODAY(),"mmmmyyyy"))>=DATEVALUE(A1&IF(MONTH(DATEVALUE(A1&1))>COLUMN(),2013,2014)),(C27+D24)-(Q15+E35),"")

更新 1:
これは、2013 年 10 月を表す値 (数値) を返します。

DATAVALUE(TEXT(TODAY(),"mmmmyyyy") 'returns 41548

これを次の式と比較します。

DATEVALUE(A1&IF(MONTH(DATEVALUE(A1&1))>COLUMN(),2013,2014))

上記の式は、A1 の値を 2013 または 2014 に連結します。より大きい
場合は2013 を返し、 それを A1 の値に連結し、それ以外の場合は 2014 に連結します。MONTH(DATEVALUE(A1&1)COLUMN()

したがって、今月は 10 月なので、上記の式は次のようになります。

MONTH(DATEVALUE(A1&1) 'returns 10
COLUMN() 'returns 1 since formula is in A2

したがって、A1 の値 (OCTOBER) は 2013 に連結
されDATEVALUEます。

1 月の場合:

MONTH(DATEVALUE(D1&1) 'returns 1
COLUMN() 'returns 4 since formula is in D2

代わりに D2 値 (JANUARY) が 2014 に結合されます。
これは、41609 である DECEMBER2013 値よりもまだ大きい 41640 を返します。

たった一つの式。
私がしたことは、月に年を追加してから比較することです。
お役に立てれば。

于 2013-10-16T05:12:31.087 に答える