Excel COUNTA在不同的工作表中使用多个单词工作表名称

Excel COUNTA在不同的工作表中使用多个单词工作表名称,excel,vba,function,excel-formula,Excel,Vba,Function,Excel Formula,我有一份包含4张工作表的工作簿: 目录 ABC DEF GH-IJK 我想在目录中数一数我在其他表格中的项目数量。所有项目都在A列中,所以我需要计算A:A-1 正如您所看到的,我在D列中列出了我应该看到的项目(我手动输入了它们),在C列中,我尝试了一个公式,该公式仅适用于只有一个单词的工作表 我有一个用户定义的函数,名为Sheet\u Name\u From_Number(),我输入一个数字,比如说2,该函数返回Sheet Number 2的名称,在我们的示例中,它将返回ABC 这就是我的公式

我有一份包含4张工作表的工作簿:

  • 目录
  • ABC
  • DEF
  • GH-IJK
  • 我想在目录中数一数我在其他表格中的项目数量。所有项目都在A列中,所以我需要计算A:A-1

    正如您所看到的,我在D列中列出了我应该看到的项目(我手动输入了它们),在C列中,我尝试了一个公式,该公式仅适用于只有一个单词的工作表

    我有一个用户定义的函数,名为
    Sheet\u Name\u From_Number()
    ,我输入一个数字,比如说
    2
    ,该函数返回Sheet Number 2的名称,在我们的示例中,它将返回
    ABC

    这就是我的公式:

    =COUNTA(INDIRECT(PERSONAL.XLSB!Sheet_Name_From_Number(A2)&"!A:A"))-1
    


    我非常困惑,因为我不知道如何从这些不止一个单词的表格中计算A列。非常感谢您的帮助。

    在工作表名称周围添加单引号:

    =COUNTA(INDIRECT("'" & PERSONAL.XLSB!Sheet_Name_From_Number(A2) & "'!A:A"))-1
    

    在图纸名称周围添加单引号:

    =COUNTA(INDIRECT("'" & PERSONAL.XLSB!Sheet_Name_From_Number(A2) & "'!A:A"))-1
    

    其他答案都很好,但“正确”的方法是在UDF中包含单引号

    最后几行大概是这样的

        ...
        Sheet_Name_From_Number = something
    End Function
    
    换成

        ...
        Sheet_Name_From_Number = "'" & something & "'"
    End Function
    

    然后你可以保持你的公式不变。

    其他答案都很好,但“正确”的方法是在你的UDF中包含单引号

    最后几行大概是这样的

        ...
        Sheet_Name_From_Number = something
    End Function
    
    换成

        ...
        Sheet_Name_From_Number = "'" & something & "'"
    End Function
    

    然后你可以保持你的公式不变。

    你能包含你的UDF函数吗?你能包含你的UDF函数吗?我很确定这一个不起作用,因为语法是错误的。@pᴇʜ该公式并非试图从PERSONAL.XLSB中得出一个范围。它正在从PERSONAL.XLSB调用UDF。这就是为什么不需要括号的原因。@jblood94当然,这是完全有道理的,我没看到。我真丢脸。谢谢你的澄清。我很确定这一个不起作用,因为语法是错误的。@Pᴇʜ该公式并非试图从PERSONAL.XLSB中得出一个范围。它正在从PERSONAL.XLSB调用UDF。这就是为什么不需要括号的原因。@jblood94当然,这是完全有道理的,我没看到。我真丢脸。谢谢你的澄清。