我们很容易使用 COUNTIF 函数计算特定文本或数字值在一系列单元格中出现的次数。 但是,要计算整个工作簿中特定文本的出现次数,需要更复杂的公式。 本文将演示一个基于 SUMPRODUCT、COUNTIF 和 INDIRECT 函数的公式来解决这个问题。如何计算整个工作簿中的出现次数?假设您的工作簿中有 4 个工作表(Sheet2、Sheet3、Sheet4 和 Sheet5),并且您想计算特定文本“Laptop”在这 4 个工作表中出现的次数,您可以执行以下操作来完成它。 通用公式 =SUMPRODUCT(COUNTIF(INDIRECT(“'”&range1&”'!”&range2),criteria)) 参数 范围1:单元格范围列出当前工作簿的所有工作表名称。 范围2:要从中计算特定值的单元格范围。 标准:您将在工作表中计数的特定文本。 如何使用这个公式? 1. 您首先需要创建一个新工作表并列出一系列单元格中的所有工作表名称。 在本例中,我列出了范围 B7:B10 中的所有工作表名称。 2.选择一个空白单元格以输出结果。 3. 在其中输入以下公式之一,然后按 Enter 键以获取结果。 如果您已经在单元格(例如 B3)中输入了特定文本,您可以在公式中引用该单元格,如下所示: =SUMPRODUCT(COUNTIF(INDIRECT("'"&B7:B10&"'!A1:Z10000"),B3)) 或者直接在公式中输入用双引号括起来的特定文本,如下所示: =SUMPRODUCT(COUNTIF(INDIRECT("'"&B7:B10&"'!A1:Z10000"),"Laptop")) 注意:这里的范围 A1:Z10000 是任意范围,您可以更改它以适合您的数据 这个公式如何运作? =SUMPRODUCT(COUNTIF(INDIRECT("'"&B7:B10&"'!A1:Z10000"),B3)) "'"&B7:B10&"'!A1:Z10000":这里数组中的每个工作表名称通过串联连接到范围 A1:Z10000,您将得到一个数组 {"'Sheet2'!A1:Z10000";"'Sheet3'!A1:Z10000";"'Sheet4' !A1:Z10000";"'Sheet5'!A1:Z10000"}。 INDIRECT({"'Sheet2'!A1:Z10000";"'Sheet3'!A1:Z10000";"'Sheet4'!A1:Z10000";"'Sheet5'!A1:Z10000"}): INDIRECT 函数引用四个工作表中的范围。 COUNTIF(INDIRECT("'"&B7:B10&"'!A1:Z10000"),B3): COUNTIF 函数计算特定值在每个工作表中出现的次数,并返回一个数组 {13;13;13;13}。 这意味着特定文本在每张纸中出现 13 次。 总和({13;13;13;13}):SUMPRODUCT 函数对数组中的所有数字求和并返回最终结果为 52。 |
|