首页 > 解决方案 > 向数组添加前缀列

问题描述

所以我在我的电子表格上创建了​​一个导出工作表,因为我想要一种一致的方式来VLOOKUP使用IMPORTRANGE这个工作表中的一个。我有 3 个数据集,我想在导出工作表中添加一个前缀列,这样我就可以知道VLOOKUP数据来自哪个数据集。我最初的想法是使用这个公式,={"Dataset 1", 'Dataset 1'!$A$2:$C6; "Dataset 2", 'Dataset 2'!$A$2:$C11; "Dataset 3", 'Dataset 3'!$A$2:$C16}但是我无法使用它,因为我添加的字符串不是数据行,我理解为什么我不能使用这个公式,但是我不确定如何完成我的工作我想在这里做。

这是一个示例电子表格,其中包含我想要的结果。谢谢你的帮助!

标签: google-sheetsspreadsheet

解决方案


尝试:

=arrayformula(query(
{
iferror(row('Dataset 1'!A:A)/0,"Dataset 1"),'Dataset 1'!A:C;
iferror(row('Dataset 2'!A2:A)/0,"Dataset 2"),'Dataset 2'!A2:C;
iferror(row('Dataset 3'!A2:A)/0,"Dataset 3"),'Dataset 3'!A2:C
},
"where Col2 is not null label Col1 'Dataset:'",1))

在此处输入图像描述

或者,使用过滤器:

=ARRAYFORMULA({
    "Dataset:", "Name:", "ID:", "Apples:";
    IFERROR(FILTER('Dataset 1'!A2:A, 'Dataset 1'!A2:A <> "") / 0, "Dataset 1"), FILTER('Dataset 1'!A2:C, 'Dataset 1'!A2:A <> "");
    IFERROR(FILTER('Dataset 2'!A2:A, 'Dataset 2'!A2:A <> "") / 0, "Dataset 2"), FILTER('Dataset 2'!A2:C, 'Dataset 2'!A2:A <> "");
    IFERROR(FILTER('Dataset 3'!A2:A, 'Dataset 3'!A2:A <> "") / 0, "Dataset 3"), FILTER('Dataset 3'!A2:C, 'Dataset 3'!A2:A <> "")
})

如果要显示空白行,请使用:

=ARRAYFORMULA({
    "Dataset:", "Name:", "ID:", "Apples:";
    IFERROR(row('Dataset 1'!A2:A) / 0, "Dataset 1"), 'Dataset 1'!A2:C;
    IFERROR(row('Dataset 2'!A2:A) / 0, "Dataset 2"), 'Dataset 2'!A2:C;
    IFERROR(row('Dataset 3'!A2:A) / 0, "Dataset 3"), 'Dataset 3'!A2:C
})

推荐阅读