我有以下情况:
Adam White
Adam Black
Adam Black
Ben White
Ben White
Clark Black
Clark Black
我希望从 Excel 中获取以下答案:
Adam Both
Ben White
Clark Black
总之,我在左列中拥有更多不同的名称,而在右列中拥有两个值。我想知道左列中出现的每个名称是否只与白色相关、只与黑色相关,或者与两种颜色相关。
答案1
答案2
我将建议另一种比使用 VLOOKUP 更合适的方法。
将 E1 中的公式复制下来,用于姓名列表:
=IF(SUMPRODUCT((A:A=D1)*(B:B="White")),IF(SUMPRODUCT((A:A=D1)*(B:B="Black")),"Both","White"),"Black")
SUMPRODUCT 可让您以类似于数组公式的方式处理多个列,以寻找条件组合。零结果False
在 IF 测试中被视为;任何正数都被视为True
。
请注意,这是非常简单的逻辑,不测试错误情况,它依赖于符合规则的数据;嵌套的 IF 逻辑假定每个 B 列条目必须是 或Black
,White
并且每个 D 列查找条目都是包含在 A 列中的名称。
答案3
我建议不要使用过于复杂的公式,而是使用数据透视表,它会在行中显示名称、在列中显示颜色以及在值中显示颜色数量。然后,您可以创建一个简单的公式来确定是否存在特定组合。
其好处有:
它比使用 SUMPRODUCT 或数组公式的嵌套 IF 更简单、更直观,
如果有多个可能的值,则更容易扩展。
答案4
我采用了一些不同的方法来解决这个问题:
怎么运行的:
- 为了使公式动态写入两个标准,白色的在细胞
H48
和黑色的在I48
。 在单元格中
H50
写入此数组公式来生成唯一名称列表。{=IFERROR(INDEX($E$50:$E$56, MATCH(0,COUNTIF($H$49:H49, $E$50:$E$56), 0)),"")}
笔记, 用 & 完成此公式Ctrl+Shift+Enter
并将其填写。
- 在单元格中写入此公式
I50
并向下填充。
=IFERROR(IF(AND($E$50:$E$56=H50,SUMPRODUCT(($F$50:$F$56=$H$48)+($F$50:$F$56=$I$48))>1),"Both",INDEX(F50:F56,MATCH(H50,E50:E56,0))),"")
注意: 根据需要调整公式中的单元格引用。