【问题标题】:Lookup which list a name is in and return the top value查找名称所在的列表并返回最高值
【发布时间】:2021-07-06 14:23:37
【问题描述】:

在我的工作表中,我有 3 个命名列表。 我想查找 Person4 所在的列表并返回“List2”标题。

到目前为止,我有这个; =MATCH(TRUE,List4=E39,0) 这很好,它给了我名称的索引值。但我现在需要以某种方式返回 List1、List2 或 List3。

但除此之外,我不知道该人将在哪个列表中。所以理想情况下,我需要一个公式,我可以在其中获取我要查找的人的姓名,然后扫描所有三个列表,然后返回此人所在列表的标题。

我想我可以在特定匹配的所有列表中使用 VLookup,但是我如何获得该匹配的列表标题?

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    您可以对每个列表使用XMATCH,并使用IFS 语句遍历列表。请注意,IFS 返回第一个正确匹配,然后终止。

    =IFS(
    NOT(ISNA(XMATCH(A8,A2:A4))),A1,
    NOT(ISNA(XMATCH(A8,B2:B3))),B1,
    NOT(ISNA(XMATCH(A8,C2:C5))),C1)
    

    A8 是要查找的项目。

    【讨论】:

    • 非常感谢。我的意思是,不像我希望的那样自动化,但你知道吗?嗯,这很有效,而且效果很好。再次感谢
    【解决方案2】:

    如果您没有可用的 Excel365,您可以使用 SUMPRODUCT 和 INDEX:

    我在B10的公式是:

    =INDEX(A1:E1;1;SUMPRODUCT(--(A2:E5=B9)*COLUMN(A2:E5)))
    

    【讨论】:

    • 不错的一个!我认为这也适用于以前版本的 Excel。 INDEX 和 SUMPRODUCT 都在 Excel 2007 及更高版本中。 (也不需要--,因为在使用* 运算符时,TRUE/FALSE 变为 1/0。
    • 如果列表元素出现两次怎么办?
    • @JMP 不知道。 OP没有说什么,所以我不认为
    猜你喜欢
    • 2018-11-23
    • 1970-01-01
    • 2022-11-02
    • 2013-07-08
    • 1970-01-01
    • 2023-04-04
    • 2020-01-04
    • 1970-01-01
    • 2018-01-24
    相关资源
    最近更新 更多