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

Google Sheets中FILTER函数部分匹配:基于姓氏匹配球员数据

基于姓氏匹配的Google Sheets公式调整

核心调整后的公式

=QUERY(FILTER('US Books Rebounds'!$D$2:$N$1500,
  'US Books Rebounds'!$D$2:$D$1500="DraftKings",
  'US Books Rebounds'!$I$2:$I$1500="Over",
  INDEX(SPLIT('US Books Rebounds'!$J$2:$J$1500," "),,2)=INDEX(SPLIT(B11," "),,2)
),"select Col8")

调整逻辑

原公式是直接匹配完整姓名,现在改成提取两边的姓氏做匹配:

  • 用SPLIT(单元格," ")把姓名按空格拆分成名和姓的数组
  • 再用INDEX(...,2)提取数组里的第二个元素(默认姓名是「名 姓」的格式,即姓氏为最后一段)
  • 让工作表J列的姓氏和B11的姓氏相等,这样不管名字是全称还是简称,只要姓氏对得上就能匹配成功

针对特殊姓氏的兼容方案

如果存在姓氏带空格的情况(比如「Van der Sar」),上面的方法会失效,改用下面的公式,它能精准提取最后一个空格后的所有内容作为姓氏:

=QUERY(FILTER('US Books Rebounds'!$D$2:$N$1500,
  'US Books Rebounds'!$D$2:$D$1500="DraftKings",
  'US Books Rebounds'!$I$2:$I$1500="Over",
  RIGHT('US Books Rebounds'!$J$2:$J$1500,LEN('US Books Rebounds'!$J$2:$J$1500)-FIND("@",SUBSTITUTE('US Books Rebounds'!$J$2:$J$1500," ","@",LEN('US Books Rebounds'!$J$2:$J$1500)-LEN(SUBSTITUTE('US Books Rebounds'!$J$2:$J$1500," ","")))))=RIGHT(B11,LEN(B11)-FIND("@",SUBSTITUTE(B11," ","@",LEN(B11)-LEN(SUBSTITUTE(B11," ","")))))
),"select Col8")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 18:57:16