如何仅在当前月份显示单元格中的值

时间:2013-10-16 01:39:24

标签: excel

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

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

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

我想要做的是显示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.

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

Excel spreadsheet sample

答案 1 :(得分: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年。

因此,由于当前月份是OCTOBER,上述公式将产生:

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

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

1月:

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

D2值(JANUARY)加入2014年。
返回41640,仍然大于DECEMBER2013值41609。

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