公式不给我“01”

时间:2016-11-08 06:17:59

标签: excel

我是excel的新手,现在我正在为员工制作假期跟踪模板。但我面临的问题是,当我在工作表的左侧添加一列(ID列)时,第一个日期单元格变为“02”(该月的第二天),但我希望它为“01” 。我试过了,但我无法改变。所以我想知道是否有人可以帮助我 这是我的功能: * $ B $ 3和$ B $ 1单元格等于1,$ B $ 2等于2016年 只是为了说清楚我的第一列(A)是名称而我的第二列(B)是“01”(或由下面的函数生成的月份的第一天)。并且第三列(C)是“02”,依此类推......但是在名称列之前添加ID列后,我再也看不到“01”了。

=IF(AND((COLUMN()-1)>31*($B$3-1),MONTH(DATE($B$2+INT(($B$3+$B$1)/12),INT((COLUMN()-1)/31.001)+$B$1,ROUNDUP(MOD(COLUMN()-1,31.001),0)))=ROUNDUP(MOD($B$1+$B$3-1,12.01),0)),ROUNDUP(MOD(COLUMN()-1,31.001),0),"")

Here is the screenshot

2 个答案:

答案 0 :(得分:1)

您的公式具有 column()函数,该函数实际上取决于列号。因此,当您向左侧插入新列时,公式的列部分会增加1。

由于您添加了一个新列,将所有 COLUMN() - 1 更改为 COLUMN() - 2 ,公式应该会为您提供正确的结果。

答案 1 :(得分:0)

使用此:

=IF(AND((COLUMN()-2)>31*($B$3-1),MONTH(DATE($B$2+INT(($B$3+$B$1)/12),INT((COLUMN()-2)/31.001)+$B$1,ROUNDUP(MOD(COLUMN()-2,31.001),0)))=ROUNDUP(MOD($B$1+$B$3-1,12,01),0)),ROUNDUP(MOD(COLUMN()-2,31.001),0),"")