You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets使用FILTER筛选两列组合与另一表匹配的数据

解决方案

你可以用COUNTIFS逐行校验值对是否存在于SpellsInitial表,调整后公式如下:

=TRANSPOSE(FILTER(SpellsHeightened_Name, SpellsHeightened_Level=A30, COUNTIFS(SpellsInitial_Level, SpellsHeightened_Level, SpellsInitial_Name, SpellsHeightened_Name)>0))

公式逻辑说明

  • 第一个筛选条件SpellsHeightened_Level=A30:先筛选出SpellsHeightened表中等级等于输入值A30的所有行
  • 第二个筛选条件COUNTIFS(...)>0:对上面筛选出的每一行,统计SpellsInitial表中同时满足等级等于当前行等级、名称等于当前行名称的条目数,大于0即说明该(Level, Name)值对存在于SpellsInitial表,符合保留要求

替代方案(值对拼接校验)

如果你不想用COUNTIFS,也可以将两列值拼接为唯一字符串后匹配,效果完全一致:

=TRANSPOSE(FILTER(SpellsHeightened_Name, SpellsHeightened_Level=A30, ISNUMBER(XMATCH(SpellsHeightened_Level&"|"&SpellsHeightened_Name, SpellsInitial_Level&"|"&SpellsInitial_Name))))

原有公式错误原因

你原写法中(SpellsHeightened_Name=SpellsInitial_Name)*(A30=SpellsInitial_Level)是两个长度不同的数组直接做运算,存在维度不匹配问题,不会逐行校验SpellsHeightened的每行值对是否在SpellsInitial中存在,因此返回结果不符合预期。

内容的提问来源于stack exchange,提问作者HalfHeartlessHero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 04:36:03