Google表格仅使用arrayformula返回包含关键字的列

时间:2017-06-06 00:48:27

标签: google-sheets array-formulas

我有一个信息的数据透视表,总计(总计列包含“总计”一词)。

我想对这些数据进行更多处理,因此我创建了一个新工作表。 新表首先有

=arrayformula('Pivot Table mins'!A:B)

抓住前两列。

但后来我想“导入”JUST中包含单词Total的列。

e.g。如果数据透视表数据跨越A到Z列,但只有D和D列。 F有关键字“Total”,我只想“导入”那些列。

我可以进行查询,但之后我必须有一个巨大的查询(例如我必须要......“C包含'总'或D包含'总'......”等等。 。所以通往Z的路,我相信)

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

案例#1。一些列

第一个选项是构建query

第二种选择是使用filter

=FILTER(Sheet!A:G,(REGEXMATCH(Sheet!D:D,"Total"))+(REGEXMATCH(Sheet!F:F,"Total")))

公式中的

Plus +表示OR逻辑。

Regexmatch我们过去常常确保列包含字符串。

修改

您也可以将公式缩短为:

=FILTER(Sheet!A:G,(REGEXMATCH(Sheet!D:D&Sheet!F:F,"Total")))

它有效,因为Sheet!D:D&Sheet!F:F连接2列,所以如果任何包含" Total",filter会找到它。

案例#2。范围

中的任何列

回答评论:

  

有没有办法为所有列做到这一点?那是我的问题......   单词" Total"变化。

=FILTER('Sheet'!A:M,MMULT(--REGEXMATCH('Sheet'!A:L,"Total"),ROW(INDIRECT("a1:a"&COLUMNS('Sheet'!A:L)))^0))

使用mmult将true/false值的2d数组转换为单行。现在来自A:L的任何行,其中某些列包含" Total"将被退回。