google-sheets - InsertRowBefore() + 定义范围问题
问题描述
我有一些代码可以在工作表顶部插入一个空白行并将数据复制到其中。
我在那张纸上也有一个定义的范围。
每次插入一行时,定义的范围都会向下移动一行。
定义的范围有助于在另一个工作表上进行查询,因此总是缺少插入的行。
如果我删除查询并使用 importrange,它就没有问题。但是,该查询不适用于 importrange。
我假设最简单的解决方法是对范围进行“硬编码”,但我将如何在查询中调用它?
这是查询,然后是使用 importrange 的相同查询。
=IFERROR(QUERY(STOCK_IN_DATA,"SELECT *" & IF((LEFT(D4,1))="*","WHERE D STARTS WITH '"&RIGHT(D4,LEN(D4)-1)&"' AND C CONTAINS '"&$C4&"' AND E CONTAINS '"&$E4&"' AND F CONTAINS '"&$F4&"' AND G CONTAINS '"&$G4&"' AND H CONTAINS '"&$H4&"'","WHERE C CONTAINS '"&$C4&"' AND D CONTAINS '"&$D4&"' AND E CONTAINS '"&$E4&"' AND F CONTAINS '"&$F4&"' AND G CONTAINS '"&$G4&"' AND H CONTAINS '"&$H4&"'")),)
=IFERROR(QUERY(IMPORTRANGE("SHEETNAME","MASTER_IN!$B$1:M"),"SELECT *" & IF((LEFT(D4,1))="*","WHERE D STARTS WITH '"&RIGHT(D4,LEN(D4)-1)&"' AND C CONTAINS '"&$C4&"' AND E CONTAINS '"&$E4&"' AND F CONTAINS '"&$F4&"' AND G CONTAINS '"&$G4&"' AND H CONTAINS '"&$H4&"'","WHERE C CONTAINS '"&$C4&"' AND D CONTAINS '"&$D4&"' AND E CONTAINS '"&$E4&"' AND F CONTAINS '"&$F4&"' AND G CONTAINS '"&$G4&"' AND H CONTAINS '"&$H4&"'")),)
查询所做的是在第 4 行显示的单元格中创建一个漂亮的小搜索过滤器。
解决方案
只有当引用用作第一个参数时,QUERY 才能使用 A、B、C 列名称。当数组用作第一个参数时,如本例中的 IMPORTRANGE,您应该使用 Col1、Col2、Col3 作为列名,而不是分别使用 A、B、C。
推荐阅读
- spring-boot - SOAP Fault 意外元素,但看起来相同
- java - 公共方法与公共 API
- php - 使用 simplexml 使用 PHP 进行 XML 解析
- c++ - C++ char 类函数追加
- azure-cosmosdb - 如何跨分区运行聚合
- python-3.x - 需要使用 python 在行为中运行多个功能文件
- session - 如何在 Wildfly 中禁用会话超时
- javascript - 将 JSON 文件包含到 React 构建中
- java - 在我的计算器应用程序中使用运算符时出现“NaN”错误
- python - 函数定义(在 tkinter 应用程序中)中这些代码行的含义是什么?