Excel 从电子表格中的所有工作表中获取与条件匹配的行
我有一个谷歌电子表格,大约有20张(每一张都有一个正确的名称,而不是Excel 从电子表格中的所有工作表中获取与条件匹配的行,excel,google-sheets,spreadsheet,Excel,Google Sheets,Spreadsheet,我有一个谷歌电子表格,大约有20张(每一张都有一个正确的名称,而不是Sheet1,Sheet2等),结构如下- Task Title | Description | Status | Comments1 | Comments 2 ------------------------------------------------------------------ Task1 | Xyz | Stage 1 | | Task2
Sheet1
,Sheet2
等),结构如下-
Task Title | Description | Status | Comments1 | Comments 2
------------------------------------------------------------------
Task1 | Xyz | Stage 1 | |
Task2 | Xyz | Stage 2 | abc |
Task3 | Xyz | Done | |
Task4 | | Done | |
如何为状态为“已完成”的所有任务(跨工作表)创建与上述结构相同的新工作表?您可以将新工作表添加到工作簿中并使用此公式(用实际工作表名称替换工作表1、工作表2、工作表3):
=QUERY({Sheet1!A:C;Sheet2!A:C;Sheet3!A:C},“where Col3='Done'”)
在{}中,您需要为每个单独的表添加A:C引用,每个表之间用
要同时返回标题行,请在查询末尾添加1:
=QUERY({Sheet1!A:E;Sheet2!A:E;Sheet3!A:E},“where Col3='Done',”,1)
或者,要返回单个列,可以包含select语句:
=QUERY({Sheet1!A:E;Sheet2!A:E;Sheet3!A:E},“选择Col1,其中Col3='Done',1)
当筛选列不是最后一列时,这似乎不起作用。我对问题进行了编辑,以更好地反映我的数据。只要您在数据集的正确列号中搜索“完成”,列数应该无关紧要。我建立了一个示例表:该公式适用于我给出的示例,但似乎不适用于我的具体数据-我不知道为什么。问题在于,结果第一行中的每个单元格都有Sheet1
(公式中的第一页)的所有匹配行,即上面示例中的第一个单元格将读取Task Title Task3 Task4
。然后在下面的几行中可以看到一个正确的结果。我用更多的示例公式更新了答案