合并两个工作表并添加一个新列,其名称与所选的每个范围相关联。
Combining two sheets and adding a new column with name associated to each range selected.
我有 Sheet1 和 Sheet2,每张里面都有一些数据,假设来自 A1:A3
。数据集是这样的
工作表 1:
col1
foo
bar
foobar
工作表 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 中添加另一列。
我该怎么做?
谢谢!
这是一种在查询之前动态添加额外列到 table 的方法:
=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")
的作用是创建一个与Sheet1!A1:A
大小相同的数组,并用字符串"dataset1"填充。
我有 Sheet1 和 Sheet2,每张里面都有一些数据,假设来自 A1:A3
。数据集是这样的
工作表 1:
col1
foo
bar
foobar
工作表 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 中添加另一列。
我该怎么做?
谢谢!
这是一种在查询之前动态添加额外列到 table 的方法:
=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")
的作用是创建一个与Sheet1!A1:A
大小相同的数组,并用字符串"dataset1"填充。