如果第二列中的数据与第三列中的任何内容匹配,则计算一列中唯一值的数量

问题描述 投票:0回答:1

我的数据每天都会变化。 如果第二列同一行中的数据与位于其他位置的第三列中的任何内容匹配,我只想从第一列获取唯一值的计数。 在大多数情况下,侧面的第三列将保持不变,就像外部白名单一样,前两列每天都会更改。 我想用公式来完成此操作,而不是使用下拉过滤器

示例

例如,这里有3个可能的位置。我想要统计在多少个位置(1、2 或 3)找到了所需的彩色产品。

Home 包含所需列表中的红色和粉色。 汽车仅包含所需列表中的红色。 即使每个位置有 8 条具有正确颜色或多种颜色的线,我只想知道有多少个不同的位置包含这些颜色。在这种情况下,答案应为 2。

我尝试过 countif/index/match/etc 的多种组合,但我还没有找到正确的方法。这也将在 Excel 2016 中使用。

excel match unique countif whitelist
1个回答
0
投票

既然您已进入 2016 年,我建议您将流程分解为不同的列。这应该使其既可维护又清晰。

  1. 添加一个列,用于在所需值列表中查找您的产品标志。这将让您快速将每行的匹配状态标记为 true 或 false。
  2. 添加另一列:对于所有匹配的行,返回位置标签。
  3. 计算匹配/标签列中的唯一值
  4. 如果唯一列表包含空白...从计数中减一。

您可以将步骤 1 和 2 合并到一列中,然后在单个单元格中进行计数。

请参阅下面的示例数据和公式。请注意,我已经填写了 D、E 和 F 列。可能有其他人可以推荐的 CSE 解决方案。

Excel 2019 FILTER() 将是解决您问题的替代/升级。

所需(标志) Loc(标签) 产品(价值观) 比赛 获取匹配标签 联合检查和输出 计算不带空白的唯一值
红色 红色 正确 2
粉色 红色 正确
绿色 蓝色 错误
黄色 蓝色 错误
粉色 正确
粉色 正确
工作 蓝色 错误
工作 蓝色 错误
工作 蓝色 错误
工作 蓝色 错误
工作 蓝色 错误
工作 蓝色 错误
工作 蓝色 错误
汽车 蓝色 错误
汽车 蓝色 错误
汽车 红色 正确 汽车 汽车
汽车 红色 正确 汽车 汽车
汽车 红色 正确 汽车 汽车
汽车 红色 正确 汽车 汽车
汽车 红色 正确 汽车 汽车
"\n"
� 7508 �需(标志)Loc(标签) 产品(价值观) 比赛 获取匹配标签 联合检查和输出 计算不带空白的唯一值
红色 红色 =XLOOKUP(C2, $A$2:$A$5, ($A$2:$A$5<>""), FALSE) =IF(D2,B2,"") =IF(XLOOKUP(C2, $A$2:$A$5, ($A$2:$A$5<>""), FALSE), B2, "") =COUNTA(唯一(F2:F21))-IF(COUNTBLANK(F2:F21)>0, 1, 0)
© www.soinside.com 2019 - 2024. All rights reserved.