我有这样的案例
=SUMIF(SBI!C:C,"B",SBI!A:A)
这里SBI是我硬编码的工作表名称。我想提一下这个Sheet名称的引用而不是硬编码。 我已经在当前工作表中有Column,其中列中提到了Sheet名称。
答案 0 :(得分:1)
如果您没有使用VBA,那么您需要一个包含工作表名称的间接单元格引用。例如。在单元格A1中,您的名称为“SBI”,则公式为:
=SUMIF(INDIRECT("'"&$A$1&"'!C:C"),"B",INDIRECT("'"&$A$1&"'!A:A"))
如果您正在使用VBA,那么在代码中您只需要一个Worksheet变量并可以使用其Range属性或只连接一个字符串:
Dim WS as Worksheet
Set WS = Thisworkbook.Worksheets("SBI")
Range("A:A").Formula = ("=SUMIF('" & WS.Name & "'!C:C,""B"",'" & WS.Name & "'!A:A)")
我在任何工作表名称周围加上引号的原因是工作表名称中有空格,例如。 Sheet2!A:A
会有效,但Sheet 2!A:A
不会...您应始终将工作表名称放在引号中以确保安全和面向未来:D 'Sheet 2'!A:A