google-apps-script - 与谷歌表格中的连接匹配
问题描述
我有这个公式:
=IF(匹配($A1&B$1,Sheet2!$A$1:$A$100&Sheet2!$B$1:$B$100,0), 1, 0)
我希望工作表 1、C 列中的公式能够像 Excel 中一样生成所有公式,但是当工作表 2 中有一行包含 a、b 时,我只会得到 1:
https://docs.google.com/spreadsheets/d/1pyuWNNU7S07AC7d4zMvXft5pEz3AeAbeHcQp-wNsXpo/edit?usp=sharing
为什么会这样,是否有一种方法可以在 Excel 中使用?
编辑澄清:我希望能够在两个连接的单元格中查找值,例如 $A1&B$1 并检查它是否与列表中的任何项目匹配:[Sheet2!$A$1&$B$1, Sheet2!$A $2&$B$2, Sheet2!$A$3&$B$3, ...]
其他可能很重要的细节:在我的实际示例中,我正在查看的列不相邻。
我希望结果与尽可能多的电子表格程序兼容,尤其是 Excel、Google Sheets 和 LibreOffice。
我将使用 Python 的 openpyxl 编写公式。
提前致谢。
解决方案
我不相信 MATCH() 是适当的功能。还有很多其他选项,例如 vlookup()、index()。
我个人喜欢使用 QUERY() 函数。
=QUERY(Sheet2!$A1:$B, "SELECT COUNT(A) WHERE A = '"&A1&"' AND B = '"&B1&"' LABEL COUNT(A) ''",0)
QUERY() 在没有找到结果时显示#N/A,因此我们可以相应地包装上述函数
=IF(ISNA(query(Sheet2!$A1:$B, "SELECT COUNT(A) WHERE A = '"&A1&"' AND B = '"&B1&"' LABEL COUNT(A) ''",0)), "",query(Sheet2!$A1:$B, "SELECT COUNT(A) WHERE A = '"&A1&"' AND B = '"&B1&"' LABEL COUNT(A) ''",0))
推荐阅读
- python - 具有重复字段的 Django 表单
- java - 如何将对象锁定为特定数据类型
- javascript - mongodb查询对象内部数组中的对象属性
- python - 在按钮按下时更改小部件的所有按钮的 Qt 样式表
- python - 在 Django Python 上循环 dict 项目时没有显示任何内容
- jestjs - 无法从 WebStorm 中的编辑器运行 Jest 测试
- amazon-web-services - AWS EKS 负载均衡器不断更改实例端口
- asp.net-mvc - 查看返回空白页 [.NET MVC]
- firebase - 如何防止对firebase中实时数据库的攻击?
- python - 将 pandas 列交换为另一列中的值