VLOOKUP/Transpose 多个 IDs/search 键同时出现在 Google 个工作表上

VLOOKUP/Transpose multiple IDs/search keys at once on Google Sheets

我目前有一个 sheet,我可以在其中将项目列表从一个 sheet 转换为另一个(行到列)。

我想知道是否有办法让我可以一次拉取多个搜索 keys/IDs 并让它一次自动填充为列格式。

目前:

  1. 数据 Sheet 选项卡:我的商品 ID(例如“11111”)和我的商品标签(例如快乐)。
  2. 转置 Sheet 选项卡:如果我将 ID(存在于“数据 Sheet”选项卡中)输入 A2,它会为我转置标签。
  3. 目标:如果可以一次输入多个项目 ID 并如图所示填充它(因此一次调换多个项目及其标签)。

可能是像 INDEX、MATCH 或辅助列之类的东西,或者与 SQL 查询相关的东西,以便按...排序?谢谢!

这是测试 sheet!: link

=ARRAYFORMULA(QUERY(QUERY(SPLIT(FLATTEN('Data Sheet'!A2:A&"♦︎"&'Data Sheet'!B2:F),"♦︎"),"select * where Col2 is not null",0),CONCATENATE("select * where Col1='",JOIN("' or Col1='",SPLIT(A2,",")),"'"),0))

这是一个有效的公式:

=query(
  {
    arrayformula(to_text('Data Sheet'!A2:A)),'Data Sheet'!B2:B;
    arrayformula(to_text('Data Sheet'!A2:A)),'Data Sheet'!C2:C;
    arrayformula(to_text('Data Sheet'!A2:A)),'Data Sheet'!D2:D;
    arrayformula(to_text('Data Sheet'!A2:A)),'Data Sheet'!E2:E;
    arrayformula(to_text('Data Sheet'!A2:A)),'Data Sheet'!F2:F
  },
  "select Col1, Col2 where Col1 is not null and Col2 is not null and (Col1='" & SUBSTITUTE(A2, ",", "' or Col1='") & "') order by Col1"
)

主要思想是:

={
  A1:A3,B1:B3;
  A1:A3,C1:C3
}

将生成

={
  A1,B1;
  A2,B2;
  A3,B3;
  A1,C1;
  A2,C2;
  A3,C3
}

所以要生成所有你可以做的对

={
  A2:A,B2:B;
  A2:A,C2:C;
  A2:A,D2;D;
  ...
}

现在,第一列中的值被解释为数字,因此我们需要将它们转换为文本以便能够进行比较。所以我用 arrayformula(to_text(A2:A)) 替换了 A2:A。然后我明确地指定 sheet 名称。

现在我们有了所有的对(包括空对),我们可以使用查询来过滤掉它们。过滤器的第一部分是删除没有任何值的行。第二部分生成并过滤搜索键。这个工作原理如下:我们需要从 x,y,z 得到 (Col1='x' or Col1='y' or Col1='z')。如果我们将 , 替换为 ' or Col1=',您会看到我们得到了中间部分。我们用替代品来做到这一点。所以与查询的其余部分连接起来,我们就明白了!

参考资料