搜索特定列,然后根据名称查找匹配行的值

search for a specific Column and then lookup the value of the matching row based off a name

我正在尝试获取 google sheet 来搜索 table 中的特定单元格。 headers 发生变化,所以一周可能是 A6,另一周可能是 A9,依此类推。

找到该行后,我希望它搜索并提取与其匹配的列的所有部门名称和数据。

我 23 sheet 岁,我的头撞到了砖墙上,我能弄明白。

你可以试试:

=QUERY({A:B,INDEX(A:G,0,MATCH(D25,1:1,0))},"SELECT * WHERE Col2='" & LOWER(F25) & "'")

注意 - 您应该删除不必要的空格。在示例数据中,它们位于 C1D25.

单元格中

试试这个:

=QUERY(
  FILTER(
    IFS(
      TRIM(1:20) = "", 0,
      ISNUMBER(1:20), 1:20,
      True, LOWER(TRIM(1:20))
    ),
    1:1 <> ""
  ),
  "SELECT Col1, Col2, Col" & MATCH(TRIM(D25), ARRAYFORMULA(TRIM(1:1)),) & "
   WHERE Col2 = '" & LOWER(F25) & "'",
  1
)

您可以结合使用 CHAR(MATCH...))Query 公式来得到这个

=QUERY('Sheet Name'!A1:G20,"SELECT A, B, "&CHAR(MATCH("Log 4",'Sheet Name'!A1:G1)+64)&" WHERE B='w'")

以上公式仅适用于 Z 列,但感谢 Kishkin 在下方的评论,您可以像这样在 Z 之外使用它:

=QUERY('Sheet Name'!A1:G20,"SELECT A, B, `" & =REGEXEXTRACT(ADDRESS(1, MATCH("Log 4",'Sheet Name'!A1:G1), 4), "\D+") & "` WHERE B='w'")

您也使用 SUBSTITUTE 而不是 REGEXTRACT。可以参考this Question.

  • CHAR(MATCH...)) 获取所需日志的列名
  • 然后您可以使用列名在查询 select 语句
  • 中包含该列

MATCH 公式中,您还可以动态匹配单元格引用,而不是手动指定“Log 4”

注意:这基本上是拆分查询公式并将其与另一个公式连接。所以 &'" 符号非常重要

示例屏幕截图: