google-sheets - 向数组添加前缀列
问题描述
所以我在我的电子表格上创建了一个导出工作表,因为我想要一种一致的方式来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}
但是我无法使用它,因为我添加的字符串不是数据行,我理解为什么我不能使用这个公式,但是我不确定如何完成我的工作我想在这里做。
这是一个示例电子表格,其中包含我想要的结果。谢谢你的帮助!
解决方案
尝试:
=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
})
推荐阅读
- routing - Istio / Kuberentes 中的用户特定路由
- c++ - 具有伪继承设计 C++ 的模板
- python - 如何在不更改字节的情况下将字符串转换为浮点数?
- angular - 表单的复选标记验证
- android - 如何查看数据库中的数据 (REST)
- c# - FTD2xx_NET DLL 是托管代码还是非托管代码?
- solr - 使用 bin/post 和托管模式突出显示 Solr 搜索结果
- svn - Tortoise SVN添加文件夹没有文件问题
- c# - 具有远程 Web UI(如 utorrent)的桌面 WPF 应用程序
- keras - 可视化深度网络时的最佳迭代次数