Google Sheets如何跨表匹配两列数据返回对应Video Views值
Google Sheets跨表按链接匹配返回Video Views的实现方案
你当前使用的公式核心问题是MATCH参数顺序错误,MATCH语法为MATCH(查找值, 查找范围, 匹配类型),原公式误将Sheet1的链接列作为查找值去匹配Sheet2的链接列,和需求逻辑不符,可按实际使用场景选择对应方案:
场景1:在Sheet2中新增列,对应每行E列链接返回Sheet1中同链接的播放量
直接输入以下数组公式即可自动计算整列结果,无需下拉:={"Video Views";ARRAYFORMULA(IFERROR(INDEX('Sheet1'!K$2:K, MATCH(TRIM(LOWER(E$2:E)), TRIM(LOWER('Sheet1'!Z$2:Z)), 0)), "无匹配"))}
参数说明:
- 给查找值和查找范围套
TRIM()+LOWER()是为了消除两表链接的多余空格、大小写差异导致的匹配失效 - 外层加
IFERROR()是为了匹配不到时返回自定义提示,避免出现#N/A报错
场景2:在Sheet1中筛选出Sheet2存在的链接,返回对应播放量
公式如下:={"Video Views";ARRAYFORMULA(IFERROR(IF(ISNA(MATCH(TRIM(LOWER(Z$2:Z)), TRIM(LOWER('Sheet2'!E$2:E)), 0)), "", K$2:K), ""))}
逻辑为校验Sheet1当前行的Z列链接是否存在于Sheet2的E列,存在则返回对应K列播放量,不存在则返回空值。
特殊情况处理:同链接有多条数据需要求和
如果存在重复链接需要返回播放量总和,可使用SUMIF替代INDEX+MATCH:={"Video Views";ARRAYFORMULA(IF(E$2:E="",,SUMIF(TRIM(LOWER('Sheet1'!Z$2:Z)), TRIM(LOWER(E$2:E)), 'Sheet1'!K$2:K)))}
内容的提问来源于stack exchange,提问作者ctib
相关产品推荐
相关产品推荐

