=IF(ISNA(VLOOKUP($B$1,'5月1日'!$F$2:$J$50,5,FALSE)),"0",VLOOKUP($B$1,'5月1日'!$F$2:$J$50,5,FALSE))这个函数,其中5月1日是sheet表的名称.我想在向下填充的时候,5月1日能自动变成5月2日、5月3日这样的形式.貌似是

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 19:34:45
=IF(ISNA(VLOOKUP($B$1,'5月1日'!$F$2:$J$50,5,FALSE)),

=IF(ISNA(VLOOKUP($B$1,'5月1日'!$F$2:$J$50,5,FALSE)),"0",VLOOKUP($B$1,'5月1日'!$F$2:$J$50,5,FALSE))这个函数,其中5月1日是sheet表的名称.我想在向下填充的时候,5月1日能自动变成5月2日、5月3日这样的形式.貌似是
=IF(ISNA(VLOOKUP($B$1,'5月1日'!$F$2:$J$50,5,FALSE)),"0",VLOOKUP($B$1,'5月1日'!$F$2:$J$50,5,FALSE))
这个函数,其中5月1日是sheet表的名称.我想在向下填充的时候,5月1日能自动变成5月2日、5月3日这样的形式.貌似是用indirect函数?但是不知道改怎么往里面加.求教

=IF(ISNA(VLOOKUP($B$1,'5月1日'!$F$2:$J$50,5,FALSE)),"0",VLOOKUP($B$1,'5月1日'!$F$2:$J$50,5,FALSE))这个函数,其中5月1日是sheet表的名称.我想在向下填充的时候,5月1日能自动变成5月2日、5月3日这样的形式.貌似是
单独针对VLOOKUP($B$1,'5月1日'!$F$2:$J$50,5,FALSE)部分,建议可以修改为:
VLOOKUP($B$1,INDIRECT("'5月"&ROW()&"日'!$F$2:$J$50"),5,FALSE))
其中 Row()函数用当前行号来表示日期中的1日,这样向下填充时会自动由行号的增加从而将工作表名称修改为“5月1日”~“5月31日”
注:此公式仅适用于5月份,即只能向下填充30行,否则会出现5月32日.
解决此问题可以使用下面更复杂的公式:
VLOOKUP($B$1,INDIRECT("'"&TEXT(DATEVALUE("5-1")+ROW()-1,"m月d日")&"'!$F$2:$J$50"),5,FALSE)
假如起始公式不在第1行,例如在22行,可以将第1个公式中的Row()修改为(Row()-21)
(第2个公式中的Row()-1,修改为Row()-22)