首页 > 解决方案 > 与谷歌表格中的连接匹配

问题描述

我有这个公式:

=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 编写公式。

提前致谢。

标签: google-apps-scriptgoogle-sheets

解决方案


我不相信 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))

在此处输入图像描述


推荐阅读