如果有多个值与某个名称相关,则使用 VLOOKUP

如果有多个值与某个名称相关,则使用 VLOOKUP

我有以下情况:

Adam    White
Adam    Black
Adam    Black
Ben     White
Ben     White
Clark   Black
Clark   Black

我希望从 Excel 中获取以下答案:

Adam    Both
Ben     White
Clark   Black

总之,我在左列中拥有更多不同的名称,而在右列中拥有两个值。我想知道左列中出现的每个名称是否只与白色相关、只与黑色相关,或者与两种颜色相关。

答案1

您首先需要使用 COUNTIFS 检查两者是否都存在。如果存在,则返回,Both否则使用 VLOOKUP 返回其中一个:

=IF(AND(COUNTIFS(A:A,D1,B:B,"Black"),COUNTIFS(A:A,D1,B:B,"White")),"Both",VLOOKUP(D1,A:B,2,FALSE))

在此处输入图片描述

答案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 列条目必须是 或BlackWhite并且每个 D 列查找条目都是包含在 A 列中的名称。

答案3

我建议不要使用过于复杂的公式,而是使用数据透视表,它会在行中显示名称、在列中显示颜色以及在值中显示颜色数量。然后,您可以创建一个简单的公式来确定是否存在特定组合。

其好处有:

  • 它比使用 SUMPRODUCT 或数组公式的嵌套 IF 更简单、更直观,

  • 如果有多个可能的值,则更容易扩展。

答案4

我采用了一些不同的方法来解决这个问题:

在此处输入图片描述

怎么运行的:

  1. 为了使公式动态写入两个标准,白色的在细胞H48黑色的I48
  2. 在单元格中H50写入此数组公式来生成唯一名称列表。

    {=IFERROR(INDEX($E$50:$E$56, MATCH(0,COUNTIF($H$49:H49, $E$50:$E$56), 0)),"")}
    

笔记, 用 & 完成此公式Ctrl+Shift+Enter并将其填写。

  1. 在单元格中写入此公式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))),"")

注意: 根据需要调整公式中的单元格引用。

相关内容