Google 张 - 搜索并作为列表并将其粘贴到下一个空行

Google sheets - Search and bring as list and paste it to next empty row

我需要你的帮助来创建搜索结果列表。

我有一个搜索项目列表(超过 10.000 个项目),如屏幕截图 B 列所示。

我写了一个函数来从主列表中获取结果(在 Sheet DM1 上)。 =QUERY('DM1'!$C$4:$J$12874,"select * 其中 G LIKE '%"&B3&"%' ",1)

它工作正常。但是我需要将所有搜索结果(总是包含不止一行,主要是 4-5 行,由 8 列组成)相继添加,中间没有空单元格。

所以基本上根据我的搜索结果,我想制作(连续)另一个包含 8 列的完整列表。

我怎样才能在 google sheet 上做到这一点?

如果有一种方法可以用我的搜索列表中的值以另一种对我也适用的方式过滤我在 DM1 sheet 上的主列表。

Column B Search list, Column C to J is the results

@ale13 嘿,截图只显示了“14Q02”的搜索结果。列表中的以下项目(B 列)需要复制到它的正下方。

我的公式复制了标题 { 我不需要在第一个搜索项之后使用它,所以公式可以是 =QUERY('DM1'!$C$4:$J$12874,"select * 其中 G喜欢 '%"&B3&"%' ",0) }

这是截图(我只添加了第二项搜索结果“14Q04”。)

Here is the screenshot (I only added second items search result which is "14Q04") together with first item.

Sample file is here

我有两种可能的方法,具体取决于您在 Sheet1 的 B 列中列出的标签的数量。如果它最多只有十个左右,你可以这样做:

=QUERY(DM1!C4:J12,"select * where G <> '' and (G = '"&B3&"' OR G = '"&B4&"' OR G = '"&B5&"' OR G = '"&B6&"' OR G = '"&B7&"' OR G = '"&B8&"' OR G = '"&B9&"') ",1)

第二种方法,也许更优雅,是动态构建查询,如下所示:

=QUERY('DM1'!$C:$J,"select * where G <> ''" & CONCATENATE(A3:A99),1)

然后在 A3 中(或者如果愿意的话,在其他一些隐藏的帮助列中)放置这个公式:

={"AND G='" & B3 & "'";ArrayFormula(if(len(B4:B),"OR G = '"&B4:B&"' ",""))}

这最终得到与之前相同的公式,但它动态地将以下文本添加到列 B 中列出的每个标记的 QUERY。 OR G = 'tag-value' .

我在您的 sheet 上添加了一个示例选项卡 Sheet1-GK 来演示这一点。

让我知道这是否适合你。