0

我正在使用以下Google Sheet

我正在尝试使用将数据从工作表导入另一个工作表IMPORTRANGE(),然后使用FILTER()删除空白行。

=FILTER(IMPORTRANGE("https://docs.google.com/spreadsheets/d/17Q1y-0DtCYhm_nCt2-cSn64afi4XktnXy08B3yPhzTM/","Data!B12:G"), 
IMPORTRANGE("https://docs.google.com/spreadsheets/d/17Q1y-0DtCYhm_nCt2-cSn64afi4XktnXy08B3yPhzTM/","Data!B12:G")<>"")

但是它会产生错误 FILTER range must be a single row or a single column.

请指教。

4

1 回答 1

1

假设数据与“导入数据”位于不同的文件中,否则您可以使用={Data!B12:G}.

但是因为filter只适用于一列,您可以尝试query

=query(IMPORTRANGE("https://docs.google.com/spreadsheets/d/17Q1y-0DtCYhm_nCt2-cSn64afi4XktnXy08B3yPhzTM/","Data!B12:G"),"where Col1 is not null ",1)

如果您想确保其他列不为空,例如日期,您可以像这样调整“where”子句:

"where Col4 is not null and Col5 is not null"

例如,如果您想importrange在查询中使用几个,您可以像这样对每个 importrange 进行{}这样的操作{importrange(),importrange(),importrange()}

=query({IMPORTRANGE("https://docs.google.com/spreadsheets/d/17Q1y-0DtCYhm_nCt2-cSn64afi4XktnXy08B3yPhzTM/","Data!E8:G"),IMPORTRANGE("https://docs.google.com/spreadsheets/d/17Q1y-0DtCYhm_nCt2-cSn64afi4XktnXy08B3yPhzTM/","Data!B8:D")},"where Col6 is not null",1)

请注意,我将范围设置为Data!E8:G然后Data!B8:D。我还在where Col6 is not null查询中使用,以便删除没有任务所有者的记录。

在此处输入图像描述

where您可以通过调整子句来忽略没有开始日期的行:

"where Col1 is not null"

将来,如果您使用其他函数来操作数据,您可能需要将“arrayformula”包裹在所有内容中。但是现在,上面的例子不需要那个。

查询有时会出现混合数据列的问题。在您的数据表中使用type(),您可以看到一些 WBS 编号被视为文本2

在此处输入图像描述

查询将自动评估此列是数字,并忽略少数文本条目。您可以to_text()在某些列周围使用以使它们成为文本,就像这样(但这就是arrayformula()进来的地方)。

在此处输入图像描述

于 2021-06-08T08:02:07.377 回答