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

在指定的列中查找匹配项,然后在匹配的行中查找匹配?

  •  1
  • gills  · 技术社区  · 1 年前

    我有一个数据集 looks something like this .

    enter image description here

    我想制作一张表格,以这种方式提取这些信息:

    enter image description here

    所以我想写一个公式,在Sheet2的第4行,返回与a列单元格与给定数字匹配的行中的字符串“Lock”匹配的列的日期。

    我试着自己为Sheet1编写公式,但这是我所能想到的:

    =INDEX(Sheet2!$4:$4, 0, MATCH("Lock", <range>, 0))
    

    那个 <range> 正在困扰我。

    需要一个“一维数组”。所以我想我需要一个公式片段,它在a列中搜索例如“103”,并以A1表示法返回匹配的行。我该怎么做?

    实际的数据集要大得多,从列到EF,向下大约150行。

    1 回复  |  直到 1 年前
        1
  •  1
  •   player0    1 年前

    一维数组意味着:

    enter image description here

    enter image description here

    所以如果你想使用 MATCH ,搜索值“Lock”需要位于水平或垂直阵列中的绿色单元格中的任何位置。那么结果就是匹配的位置

    看看这是否有帮助:

    =INDEX($4:$4, 0, MATCH("Lock", FILTER(A5:Z, A5:A=103), 0))
    

    enter image description here


    更新1:

    =INDEX(SPLIT(TOCOL(IF(B3:L="Lock", A3:A&"×"&B2:L2, ), 1), "×"))
    

    enter image description here

    在您的工作表中:

    =INDEX(SPLIT(TOCOL(IF(Sheet2!B5:Z=B1, Sheet2!A5:A&"×"&Sheet2!B4:Z4, ), 1), "×"))
    

    enter image description here

    更新2:

    =INDEX(IFNA(VLOOKUP(A2:A, SPLIT(TOCOL(IF(REGEXMATCH(Sheet2!B6:Z, 
     "(?i)\b"&B1&"\b"), Sheet2!A6:A&"×"&Sheet2!B4:Z4, ), 1), "×"), 2, 0)))
    
    推荐文章