Google Sheets中判断单元格范围与单个单元格的机场代码是否重叠
解决Google Sheets中跨格式机场代码列表的重叠判断问题
单个单元格判断公式
要单独判断X5单元格的机场代码是否在F5的逗号分隔列表里,直接用这个公式:
=ISNUMBER(SEARCH(","&TRIM(X5)&",", ","&TRIM(F5)&","))
TRIM()用来清除机场代码前后的空格,避免F5里的代码带空格(比如", OAK,")导致匹配失败- 给目标代码和整个列表都加上首尾逗号,比如把"SFO"转成",SFO,",把F5内容转成",SFO, OAK, SJC,",彻底避免部分匹配的误判(比如不会把"JC"当成匹配"SJC")
SEARCH()找到匹配位置会返回数字,ISNUMBER()把这个结果转换成标准的TRUE/FALSE
批量处理整个区域的数组公式
如果要一次性处理X5:X237所有单元格,不用逐个下拉公式,用数组公式一键完成:
=ARRAYFORMULA(IF(X5:X237="", "", ISNUMBER(SEARCH(","&TRIM(X5:X237)&",", ","&TRIM(F5)&","))))
ARRAYFORMULA()让公式自动遍历X5到X237的每个单元格IF(X5:X237="", "", ...)用来过滤空单元格,避免返回不必要的FALSE结果
之前公式报错的常见原因
- 未处理空格:F5里的代码可能带空格,直接匹配不带空格的代码会失败
- 没避免部分匹配:直接用
SEARCH(X5, F5)会把包含目标代码的长字符串误判为匹配(比如"JSJC"会被当成匹配"SJC") - 数组公式使用错误:普通公式直接下拉未处理空值,或者用了不支持数组运算的函数,都会导致报错
内容的提问来源于stack exchange,提问作者D Christian Harrison
相关产品推荐
相关产品推荐

