if-statement - 来自多个动态下拉列表的 Google 表格匹配/查询
问题描述
我有一张工作表,我需要从另一个选项卡查询数据以匹配 4 个 if/或动态下拉列表和 1 个 if/and 动态下拉列表。这是我的一个障碍。我附上了表格以及 4 分钟的解释视频。提前致谢!
床单:
https://docs.google.com/spreadsheets/d/1rUtTJkvFKFI8Q6lnRtxNpky5bYe9u8BZBok0M8hwZ7o/edit?usp=sharing
视频:
解决方案
尝试:
=ARRAY_CONSTRAIN(QUERY({'Sub List'!A2:AE,
TRANSPOSE(QUERY(TRANSPOSE('Sub List'!L2:U),,999^99)),
TRANSPOSE(QUERY(TRANSPOSE('Sub List'!V2:AE),,999^99))},
"where "&TEXTJOIN(" and ", 1,
IF(B1="",,"Col32 contains '"&B1&"'"),
IF(B2="",,"Col32 contains '"&B2&"'"),
IF(B3="",,"Col32 contains '"&B3&"'"),
IF(B4="",,"Col32 contains '"&B4&"'"),
IF(B6="",,"Col33 contains '"&B6&"'"))&""), 999^99, 31)
用于OR
逻辑用途:
=ARRAY_CONSTRAIN(QUERY({'Sub List'!A2:AE,
TRANSPOSE(QUERY(TRANSPOSE('Sub List'!L2:U),,999^99)),
TRANSPOSE(QUERY(TRANSPOSE('Sub List'!V2:AE),,999^99))},
"where "&TEXTJOIN(" or ", 1,
IF(B1="",,"Col32 contains '"&B1&"'"),
IF(B2="",,"Col32 contains '"&B2&"'"),
IF(B3="",,"Col32 contains '"&B3&"'"),
IF(B4="",,"Col32 contains '"&B4&"'"),
IF(B6="",,"Col33 contains '"&B6&"'"))&""), 999^99, 31)
对于组合(OR
黄色单元格和AND
绿色单元格之间)
=ARRAY_CONSTRAIN(QUERY({'Sub List'!A2:AE,
TRANSPOSE(QUERY(TRANSPOSE('Sub List'!L2:U),,999^99)),
TRANSPOSE(QUERY(TRANSPOSE('Sub List'!V2:AE),,999^99))},
"where ("&TEXTJOIN(" or ", 1,
IF(B1="",,"Col32 contains '"&B1&"'"),
IF(B2="",,"Col32 contains '"&B2&"'"),
IF(B3="",,"Col32 contains '"&B3&"'"),
IF(B4="",,"Col32 contains '"&B4&"'"))&")"&
IF(B6="",," and Col33 contains '"&B6&"'"), 0), 999^99, 31)
推荐阅读
- javascript - 如何将句子而不是单个单词发送到 API 并让它们发回
- c# - 通过 FuelSDK 从 C# 调用 Marketing Cloud API
- java - 无法使用 Java 使用 JAXB 读取 XML 文件的子节点中的内容
- javascript - Discord.JS 如何从旧消息中获取表情
- laravel - Laravel - 如何在不同域之间使用 Auth::check 或 Auth::user?
- python - 使用熊猫替换 xlsx 文件中的值
- reactjs - 如何仅更改我按下的课程
- python - 如何在最后一个位置的熊猫单元格中查找字典值?
- java - 关于递归的常见行业惯例是什么?或者我们怎么知道我们是否应该完全避免递归?
- javascript - i have a problem when i try to use useReducer hooks in react