我有Sheet1和Sheet2,每个都有一些数据,比如A1:A3
。数据集就像这样
Sheet 1中:
col1
foo
bar
foobar
Sheet 2中:
col1
bat
man
batman
所以我使用以下公式将它们组合在一起:
=query({ Sheet1!A1:A3;Sheet2!A1:A3 } ," select * where Col1 <> '' " ,1)
然而,我想要做的是在新列中为每个日期范围关联一个特定名称。所以我想要这样的东西:
dataset1,foo
dateset1,bar
dataset1,foobar
dataset2,bat
dataset2,man
dataset2,batman
出于特殊原因,我需要在公式中实现这一点。我不能在sheet1和sheet2中添加另一列。
我该怎么做?
谢谢!
答案 0 :(得分:1)
以下是在查询之前动态添加额外列的一种方法:
=query(arrayformula({iferror(Sheet1!A1:A/0, "dataset1"), Sheet1!A1:A;
iferror(Sheet2!A1:A/0, "dataset2"), Sheet2!A1:A}),
"select * where Col2 <> ''")
iferror(Sheet1!A1:A/0, "dataset1")
的效果是创建一个与填充字符串“dataset1”的Sheet1!A1:A
大小相同的数组。