Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用sheets/excel公式从选项卡中获取唯一的行_Excel_Google Sheets_Excel Formula_Google Sheets Formula - Fatal编程技术网

使用sheets/excel公式从选项卡中获取唯一的行

使用sheets/excel公式从选项卡中获取唯一的行,excel,google-sheets,excel-formula,google-sheets-formula,Excel,Google Sheets,Excel Formula,Google Sheets Formula,我需要根据选项卡的名称(蓝色)动态构建索引表 预期结果以黄色显示 行和第一列中显示的图纸名称必须唯一 非公式公式在这里:=INDIRECT(CONCATENATE(“{”,TEXTJOIN(“;”),true,ARRAYFORMULA(“'”&A6:A32&“!”&“A2:B”),“}”)我相信一定有一个更优雅的公式来实现所需的输出 但是,这很管用: =query(UNIQUE({"Sheetname","sub_category","cate

我需要根据选项卡的名称(蓝色)动态构建索引表

预期结果以黄色显示

行和第一列中显示的图纸名称必须唯一


非公式公式在这里:
=INDIRECT(CONCATENATE(“{”,TEXTJOIN(“;”),true,ARRAYFORMULA(“'”&A6:A32&“!”&“A2:B”),“}”)

我相信一定有一个更优雅的公式来实现所需的输出

但是,这很管用:

=query(UNIQUE({"Sheetname","sub_category","category_filter","duplicate";{ARRAYFORMULA("Sheet1"&T(SEQUENCE(COUNTA(Sheet1!A2:A))));ARRAYFORMULA("Sheet2"&T(SEQUENCE(COUNTA(Sheet2!A2:A))));
ARRAYFORMULA("Sheet3"&T(SEQUENCE(COUNTA(Sheet3!A2:A))))},{INDIRECT("Sheet1!A2:C"&COUNTA(Sheet1!A1:A));
INDIRECT("Sheet2!A2:C"&COUNTA(Sheet2!A1:A));INDIRECT("Sheet3!A2:C"&COUNTA(Sheet3!A1:A))}}),"Select Col1,Col2,Col3")

对于多张工作表+
间接
不可能使用公式解决方案

解决此问题的一个选项是使用另一个公式构建公式的动态部分

我的意思是:

公式的动态部分由以下公式构成:

={"Dynamic part of the formula" ; JOIN(";"&char(10),FILTER("QUERY({"&A2:A&"!A2:C},""select '"&A2:A&"', Col1, Col2, Col3 where Col1 != '' label '"&A2:A&"' ''"")",A2:A<>"")) }
最后的公式使用了这一部分。您需要手动执行下一步,或者为此编写一个简短的脚本。手动过程:

转到包含公式生成部分的单元格。点击[F2]输入,选择并复制全部。转至最终配方并更换此零件:

={"Sheetname","sub_category","category_filter"; QUERY(UNIQUE({

QUERY({Sheet1!A2:C},"select 'Sheet1', Col1, Col2, Col3 where Col1 != '' label 'Sheet1' ''");
QUERY({Sheet2!A2:C},"select 'Sheet2', Col1, Col2, Col3 where Col1 != '' label 'Sheet2' ''");
QUERY({Sheet3!A2:C},"select 'Sheet3', Col1, Col2, Col3 where Col1 != '' label 'Sheet3' ''");
QUERY({Sheet4!A2:C},"select 'Sheet4', Col1, Col2, Col3 where Col1 != '' label 'Sheet4' ''")

}),"select Col1, Col2, Col3") }

谢谢,马里奥,真的很感激。但是这是一个开销,因为我希望公式是动态的,如果我添加新的蓝色单元格,那么结果表必须自动更新。这需要手动更改公式。我将如何使其动态?伟大的解决方案Max!我真的想达到同样的效果,但我没能:)我投了赞成票。
={"Sheetname","sub_category","category_filter"; QUERY(UNIQUE({

QUERY({Sheet1!A2:C},"select 'Sheet1', Col1, Col2, Col3 where Col1 != '' label 'Sheet1' ''");
QUERY({Sheet2!A2:C},"select 'Sheet2', Col1, Col2, Col3 where Col1 != '' label 'Sheet2' ''");
QUERY({Sheet3!A2:C},"select 'Sheet3', Col1, Col2, Col3 where Col1 != '' label 'Sheet3' ''");
QUERY({Sheet4!A2:C},"select 'Sheet4', Col1, Col2, Col3 where Col1 != '' label 'Sheet4' ''")

}),"select Col1, Col2, Col3") }