在 Excel 中,如何使用 INDIRECT 指向包含特定案例的工作表名称的单元格

在 Excel 中,如何使用 INDIRECT 指向包含特定案例的工作表名称的单元格

我正在尝试INDIRECT使用以下公式将 Transactions2 工作表替换为 A1 中的工作表名称:

=IF(AND(Transactions2!$K2>=Periods!$B$3, Transactions2!$K2<=Periods!$C$3),Transactions2!$L2,"")

有 Periods 就没问题,INDIRECT因为我正在检查 Transactions2!$K2 中的日期与 Periods 表中的日期,以确定它是否在日期范围内。如果在范围内,我会获取 L2 中的美元金额,否则我会将其留空。

我试过

=IF(AND(INDIRECT("'"&A1&"'!"&$K2>=Periods!$B$3), INDIRECT("'"&A1&"'!"&$K2<=Periods!$C$3),INDIRECT("'"&A1&"'!"&$L2,"")

=IF(AND(INDIRECT("'"&A1&"'!$K2>=Periods!$B$3"), INDIRECT("'"&A1&"'!&$K2<=Periods!$C$3"),INDIRECT("'"&A1&"'!"&$L2,"")

都出现 #REF 错误

答案1

如果我没记错的话,您需要K2在引号中包含:

=IF(AND(INDIRECT("'"&A1&"'!$K2">=Periods!$B$3), INDIRECT("'"&A1&"'!$K2"<=Periods!$C$3),INDIRECT("'"&A1&"'!$L2","")

答案2

您的想法是正确的,只需进行一些小的调整:

=IF(AND(INDIRECT(A1 & "!$K2")>=Periods!$B$3, INDIRECT(A1 & "!$K2")<=Periods!$C$3),INDIRECT(A1 & "!$L2"),"")

(仅当工作表名称包含空格时才需要单引号。)

相关内容