我有一个 Excel 工作簿Spreadsheet.xlsx,其中B2在B1=MATCH(B1,'\\SERVER\Path\To\File\[Workbook.xlsx]Sheet1'!$A$1:$A$500,0)
中获取字符串(名称)并将其与Workbook.xlsx中的一列行标题相匹配,以给出行号。
目前B2返回值8,用于B3=INDEX('\\SERVER\Path\To\File\[Workbook.xlsx]Sheet1'!$A$8:$SD$8), MATCH($A4,'\\SERVER\Path\To\File\[Workbook.xlsx]Sheet1'!$A$2:$SD$2,0))
。
B3索引与Workbook.xlsx中Sheet1中B2$A$8:$SD$8
中的行号相对应的一系列值,并返回与该范围内的日期匹配的值。$A4
$A$2:$SD$2
目前,我手动将行号输入到B3范围`$A$8:$SD$8.
如果我尝试使用B3=INDEX(INDIRECT("'\\SERVER\Path\To\File\[Workbook.xlsx]Sheet'!$A$"&B2&":$SD$"&B2), MATCH($A4,'\\SERVER\Path\To\File\[Workbook.xlsx]Sheet1'!$A$2:$SD$2,0))
自动执行此操作,则会出现#REF
错误。
我在INDIRECT
其他地方使用过,例如=MAX(INDIRECT(K&"K1"))
,它工作得很好。此外,其中的Workbook.xlsx和Sheet1肯定存在,我可以在不使用INDIRECT
.
为什么它不起作用?