google-sheets - Google Sheets 在查询功能中的动态数据范围
问题描述
在 Google 表格中使用查询功能时是否可以有动态数据范围?
我想做的是,使用保管箱更改查询功能中使用的数据范围。
例如,我在 4 张不同的表格中有 4 张桌子。在我的主工作表上,我想使用我的保管箱,对我选择的表执行查询。有必要用脚本来做吗?
解决方案
您可以在不使用脚本的情况下进行动态查询。
查询字符串可以包含对其他单元格的引用。
此示例对 B2 中的数据集有一个下拉列表,对 B4 中的值集有一个下拉列表。数据范围包括另一个工作表中的一个。我正在使用命名范围来简化查找过程。每个数据集 n 被命名为 DataN。
您可以使用实际的查询函数调用将查询字符串从单元格中分离出来。诀窍是使用 INDIRECT、COLUMN 和 VALUE 构建查询字符串。我把它放在单元格 A10 中:
="select " & mid("ABCDEFGH",COLUMN(INDIRECT(B2)),1) & " where " & mid("ABCDEFGH",VALUE(COLUMN(INDIRECT(B2)))+1,1) & "=" & """" & B4 & """"
四个引号让我们在查询字符串中放置一个文字引号。'&' 字符进行字符串连接。使用 MID 将 COLUMN 函数转换为我从这里得到的一封信。
然后带有查询的单元格使用数据集下拉 (B2) 的值和查询字符串 (A10) 的值,如下所示:
=QUERY(INDIRECT(B2),A10,1)
推荐阅读
- javascript - 如何在 Angular 中查找 HTML 元素的坐标
- html - 只读表单对齐需要一致
- java - 创建一个计算器,使用扫描仪从单独的类中调用方法
- javascript - 跨不同文件的 Javascript 返回变量
- javascript - 是否可以从 C# 文件运行 JavaScript 文件?
- javascript - 循环遍历 JavaScript 对象和子对象
- php - DirectoryIterator 忽略流浪同步文件夹中的目录
- c - 为什么 (char) + (char) = (int) 在 C 中?
- python - unittest.TestCase 类中的参数化夹具
- javascript - 将调整大小事件绑定到元素