代码之家  ›  专栏  ›  技术社区  ›  testing

搜索多个列,如果找到,返回列(标题)的第一行

  •  0
  • testing  · 技术社区  · 6 年前

    我的目标是,如果在列中找到值,则获取标题(另一张表中的第一行)。

    因为 VLOOKUP HLOOKUP 有一些问题(例如,搜索条件必须在矩阵的第一列),我必须找到一些替代方案。对于 VLOOKUP 我在用 INDEX 连同 MATCH .现在我在寻找另一种选择 赫卢库普 .我找到了 this post ,但无法让它工作。

    我有两张纸:

    Car        Living        Boat
    ----------------------------------
    Kia        appartment    Jet-Ski
    Chevrolet  house         speedboat
    Ford       condominium   Yacht
    Audi    
    

    搜索栏

    原始公式 :

    =INDEX(column!A1:C1;;MIN(WENN(column!A1:C5="speedboat";SPALTE(column!A:C))))
    

    换算公式 :

    =INDEX(column!A1:C1,,MIN(IF(column!A1:C5="speedboat",COLUMN(column!A:C))))
    

    目前,上述公式的结果为: 汽车 。如果我使用可以看到的计算公式工具 IF 子句没有评估整个矩阵,但我不知道为什么。我做错了什么?

    如何获取列的标题?

    1 回复  |  直到 6 年前
        1
  •  2
  •   JvdV    6 年前

    问题是您使用的数组公式需要通过 Ctrl键 转移 进来 .你只需要做一次,就可以拖动公式了。

    如果你不想进入 Ctrl键 转移 进来 ,您的配方的另一种选择可能是:

    =INDEX(column!A1:C1,SUMPRODUCT((column!A2:C5="speedboat")*(COLUMN(A2:C5))))
    

    或者更好:

    =INDEX(column!A1:C1,MAX(INDEX((column!A2:C5="speedboat")*(COLUMN(A2:C5)),)))
    
    推荐文章