【问题标题】:Manipulate Data Across Multiple Sheets跨多个工作表操作数据
【发布时间】:2020-05-29 15:49:48
【问题描述】:

我正在尝试跨多个工作表(在同一个工作簿中)使用一个简单的公式来有效地整合数据。

当前公式:=COUNTIF('5-01-20:5-29-20'!A:A, "Laptop")

基本上,查看名为“5-01-20”到名为“5-29-20”的工作表上“A”列中的所有单元格,如果单元格包含“笔记本电脑”一词,则对其进行计数

此公式返回 #Value 错误,使用 named range 的相同公式也是如此。快速谷歌搜索表明CountIF 函数不能使用这种类型的范围。我可以尝试另一种不将所有数据合并到一个工作表中的解决方案吗?

我也尝试过 PIVOT 表,但无法让它包含多个表/工作表。

【问题讨论】:

    标签: excel worksheet consolidation


    【解决方案1】:

    您需要创建一个工作表列表,然后使用 INDIRECT() 引用该列表并将整个列表包装在 SUMPRODUCT 中。例如,如果您的工作表名称列表位于 Z1:Z29 中:

    =SuMPRODUCT(COUNTIFS(INDIRECT("'"&Z1:Z29&"'!A:A"),"Laptop"))
    

    【讨论】:

    • 我复制了公式并将工作表的名称放在 Z1:Z29 范围内的工作表上,但我收到了 #REF 错误。我对 Indirect 函数的理解不够好,无法对其进行操作,您能否扩展您的答案?
    • @Fred:在 Z1 中尝试 ="5-"&TEXT(ROW(),"0#")&"-20" 并向下复制到 Z29。顺便说一句,旧的CountIf 也可以。
    • @VBasic2008:非常聪明,我不知道你可以直接那样做。但是,我仍然在 Scott 的 SumProduct 公式中遇到 #Ref 错误。我尝试单独使用 Indirect 来查看它返回的值并得到相同的错误。
    • @VBasic2008 CountIF 在单个表格范围内完美运行,但我不知道如何在多个工作表中打破该范围。
    • @Fred:我这边一切正常。您必须将所有工作表的名称与单元格 Z1:Z29 或您选择的任何范围中的名称完全相同。一个错误,公式就失败了。从您的#REF 错误中,我可以得出结论,至少有一个工作表名称是错误的或者可能丢失了。看看这个。在旧版本中,您不能使用A:A,因此请尝试例如A1:A1000.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多