COUNTIF / SUMIF使用基于命名值的动态设置的查找范围

时间:2018-11-12 20:37:04

标签: excel vba excel-vba excel-formula

我希望计算订购产品的次数。如果我能够对与其产品相对应的列进行硬编码,但这些列经常更改,就很简单。下图给出了输入数据的概念以及我想要的结果。我想对每种产品的“ Y”计数,并记录该产品包含多少个不同的订单。

披露:我的实际数据集要复杂得多,有数千条记录和几百列,与水果无关,但为简单起见而给出了此示例。

https://imgur.com/a/X5wtdh6

在第二个示例中可以看到,产品不相同或顺序相同: https://imgur.com/a/7TNmaHW

我要做的是创建一个公式,该公式将检查产品存在于哪个列(例如Oranges),然后将该列中的所有“ Y”加起来。每个文件最多将该产品作为一个列标题出现一次(有时它根本不在文件中)。

当手动收集值时,我在第二张纸上使用此公式来创建汇总表(以示例1中的橘子为例)= COUNTIF(Sheet1!B:B,“ Y”)。我每天都会收到一个新文件,手动更改它所引用的列。您可以想象,这非常耗时。

简而言之,我正在寻找将COUNTIF公式的“ Sheet1!B:B”部分替换为SEARCH(或等效功能)函数,以查找包含橙色的列。我也愿意接受VBA解决方案,但对它并不熟悉。

如果您需要更多说明,请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:3)

能够找到此解决方案:

=COUNTIF(INDEX(Table1[#All],0,MATCH(A2,Table1[#Headers],0)),"Y")