Google Sheets跨表数据匹配与求和公式开发需求
Google Sheets 双表鸟类数据处理公式
1. 找出两表共有的鸟类名称
要筛选同时出现在「American Birds」表第1列和「Australian Birds」表第1列的鸟类,可使用带去重的筛选公式:
=UNIQUE(FILTER('American Birds'!A:A, COUNTIF('Australian Birds'!A:A, 'American Birds'!A:A)>0))
- 逻辑:先用
COUNTIF检查「American Birds」的每一项是否在「Australian Birds」第1列出现过,再用FILTER提取符合条件的项,最后用UNIQUE去除重复值。
2. 汇总共有鸟类的数量总和
如果已经用上面的公式得到了共有鸟类列表(假设结果在单元格D1开始的区域),可以在旁边单元格用以下公式批量计算总和:
=ARRAYFORMULA(IFERROR(SUMIF('American Birds'!A:A, D:D, 'American Birds'!B:B) + SUMIF('Australian Birds'!A:A, D:D, 'Australian Birds'!B:B)))
- 逻辑:用
SUMIF分别计算该鸟类在两个表中的数量,再相加;ARRAYFORMULA实现批量计算,不用手动下拉公式。
基于「Total Birds」表的简化写法
如果「Total Birds」表是两表的合并数据,可直接一步完成筛选和求和:
=QUERY('Total Birds'!A:B, "select Col1, sum(Col2) where Col1 matches '"&TEXTJOIN("|", TRUE, UNIQUE(FILTER('American Birds'!A:A, COUNTIF('Australian Birds'!A:A, 'American Birds'!A:A)>0)))&"' group by Col1")
- 逻辑:先提取共有鸟类名称,用
TEXTJOIN拼接成匹配规则,再通过QUERY在合并表中分组求和。
内容的提问来源于stack exchange,提问作者Ryneff
相关产品推荐
相关产品推荐

