2

我第一次来这里,我的问题是:

我有 6 个单元格,可以说 A2、B2、C2、D2、E2、F2 每个单元格值由公式驱动。

在每个单元格上方,我将月份命名为 A1=10 月、B1=11 月、C1=12 月、D1=1 月、E1=2 月、F2=3 月。

我想做的是显示 A2 的值,因为我们在 10 月,但不显示 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。

任何帮助将不胜感激,还有一件事我不能使用宏。再次感谢

4

2 回答 2

1

你可能会在 10 月使用类似的东西:

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

当您到达一月时,您只需将年份更改("1-"&A2&"-2013")*1"-2014"("1-"&A2&"-2013")*1顺便说一句,通过连接 1、月份和年份来生成日期值,而 *1 是将文本转换为日期的原因。

我实际上添加的是检查是否TODAY()大于或等于特定月份的第一个月。因此,现在月份和日期都必须大于或等于该特定月份。

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:
这将返回一个代表 October2013 的值(数字):

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

现在你将它与这个公式进行比较:

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

上面的公式将 A1 的值连接到 2013 或 2014。
如果MONTH(DATEVALUE(A1&1)大于COLUMN()它返回 2013 并将
其连接到 A1 值,否则返回 2014。

因此,由于当前月份是 10 月,因此上述公式将得出:

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

所以 A1 值 (OCTOBER) 连接到 2013。
因此在评估后也返回 41548 DATEVALUE

一月:

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

D2 值(JANUARY)改为加入 2014。
这将返回 41640,它仍然大于 DECEMBER2013 的值 41609。

只有一个公式。
我所做的是将年份添加到月份,然后进行比较。
希望这可以帮助。

于 2013-10-16T05:12:31.087 回答