合并两个工作表并添加一个名称与所选范围相关联的新列。

时间:2017-07-21 17:34:56

标签: google-sheets spreadsheet

我有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中添加另一列。

我该怎么做?

谢谢!

1 个答案:

答案 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大小相同的数组。