Excel - 如何在同一列中找到 2 个不同的值并让标题作为结果出现?

Excel - 如何在同一列中找到 2 个不同的值并让标题作为结果出现?

我想在同一列中搜索 2 个不同的值。如果匹配,我希望同一列中的 2 个值的标题显示为结果。

所有彩色线条都是标准布局,不会改变。

第 3、4、8 和 9 行是我手动编辑的行。绿色行是标准。Value A-1意味着我需要找到哪一列有Value AValue 1

因此,正如您所看到的,Value A可以在多列中找到,但只有 1 与“值 1”组合。这些可以在“块 1”-“标题 1”中找到。这意味着信息“块 1”和“标题 1”将出现在绿线“值 A-1”下。我想要这两个值(Block 1Header 1出现在我在下图中播种的单元格中)。绿色行下的所有内容都需要自动填充,我刚刚输入了一些值来显示预期结果。

如果同一列中出现两个值,则显示标题:
如果同一列中出现 2 个值,则显示标题

答案1

如果只能有一对匹配,并且假设布局如上所示,则可以使用以下公式:

A14:  =IF(OR((FirstValue=$A$3:$E$3)*(LastValue=$A$4:$E$4)),"Block 1", IF(OR((FirstValue=$A$8:$E$8)*(LastValue=$A$9:$E$9)),"Block 2",""))

A15:  =IFERROR(LOOKUP(2,1/(((FirstValue=$A$3:$E$3)*(LastValue=$A$4:$E$4)+(FirstValue=$A$8:$E$8)*(LastValue=$A$9:$E$9))),$A$2:$E$2),"")

A14 中的公式是数组类型公式,应按住ctrl+shift并点击 来输入。Excel 将在公式周围enter放置括号 ( 。{...}

选择A14:A15并填写右侧E14:E15

FirstValue 和 LastValue 是命名公式,创建方式如下:

选择 A 列中的某个单元格,然后“公式”►“定义名称”

FirstValue *Refers to*  =LEFT(Sheet2!A$13,FIND("-",Sheet2!A$13)-1)
LastValue  *Refers to*  ="Value " & MID(Sheet2!A$13,FIND("-",Sheet2!A$13)+1,99)

(您不必使用命名公式;您可以在我提供的公式中替换上述内容,但命名公式在这里似乎更方便)。

如果块 1 和块 2 中有重复匹配,结果将出乎意料。但公式可以修改(尽管 VBA 程序会更简单)

FirstValueLastValue返回第 13 行中的各个值,重新处理为与块中存储的格式相同的格式。

查看LOOKUP函数的帮助以了解其工作原理。还可以使用选项卡Evaluate上的按钮Formulas来了解公式的工作原理。

相关内容