当使用多个下拉列表时,EXCEL 显示工作表的总数

当使用多个下拉列表时,EXCEL 显示工作表的总数

我有一个包含多张工作表的工作簿。在每个工作表上,您可以从下拉列表中选择一个用户,然后从不同的下拉列表中选择一个项目。任何工作表上都可以有多个用户和项目实例。

我需要一张摘要表,您可以从下拉列表中选择用户,然后 Excel 将显示表中每项内容的总计。

示例表的屏幕截图

我可以使用以下公式收集单个结果

=COUNTIFS('15'!$C:$C, E4, '15'!$D:$D, E5)

我的表格标题为 1 至 31。

答案1

要在具有相同列结构的多张工作表中使用 COUNTIFS,请将其与 SUMPRODUCT 和 INDIRECT 结合使用。

首先,在摘要工作表的 A 列中列出要包含在 COUNTIFS 函数中的所有工作表名称。例如,由于您的工作表名称为 1 至 31,因此请输入“图纸列表",然后在单元格 A2 到 A32 中输入值 1 到 31。

您提供的 COUNTIFS 示例现在可以修改为包含范围 A2:A32 中列出的所有工作表,如下所示:

=SUMPRODUCT(COUNTIFS(INDIRECT("'"&A2:A32&"'!C2:C1000"), E4, INDIRECT("'"&A2:A32&"'!D2:D1000"), E5))

注意:由于此公式计算 31 张工作表,请避免使用整列引用,如“C:C”或“D:D”;而是选择合理数量的行,这些行应延伸到数据下方足够远的地方,但不要太远,以免导致性能下降。在此示例中,我使用了“C2:C1000”和“D2:D1000”。

为了获得最终的汇总表(如您提供的屏幕截图所示),请使用绝对和相对范围引用的正确组合,以便能够将公式复制到汇总区域的所有行和列中。例如,对于范围 A2:A32 中的工作表列表、范围 C2:C3 中的用户列表和范围 D1:F1 中的项目列表,在单元格 D2 中使用以下公式,然后将其复制到下方并向下复制以完成报告:

=SUMPRODUCT(COUNTIFS(INDIRECT("'"&$A$2:$A$32&"'!C2:C1000"), $C2, INDIRECT("'"&$A$2:$A$32&"'!D2:D1000"), D$1))

最终结果应如下所示:

sumproduct_countifs.jpg

相关内容