Google Sheets排序公式报错求助:按C列值与A列字符排序
Google Sheets QUERY排序公式错误修正
问题根源
原公式中使用了HTML转义字符<>,Google Sheets的QUERY函数无法识别这类转义符号,必须使用标准的比较运算符<> 。
修正后的可用公式
=QUERY(A2:C100, "SELECT * WHERE A<>'' ORDER BY CASE WHEN A LIKE '%EU%' AND C<>'' THEN 1 WHEN A LIKE '%EU%' AND C='' THEN 2 WHEN A LIKE '%UA%' AND C<>'' THEN 3 WHEN A LIKE '%UA%' AND C='' THEN 4 ELSE 5 END, C, A")
优化兼容版(适配两种空值场景)
如果C列存在公式生成的空字符串""或单元格真正为空的混合情况,可改用IS NOT NULL/IS NULL来兼容,公式如下:
=QUERY(A2:C100, "SELECT * WHERE A<>'' ORDER BY CASE WHEN A LIKE '%EU%' AND C IS NOT NULL THEN 1 WHEN A LIKE '%EU%' AND C IS NULL THEN 2 WHEN A LIKE '%UA%' AND C IS NOT NULL THEN 3 WHEN A LIKE '%UA%' AND C IS NULL THEN 4 ELSE 5 END, C, A")
逻辑说明
修正后的公式完全保留需求的排序规则:
- 优先级1:A列含"EU"且C列非空的行
- 优先级2:A列含"EU"且C列空的行
- 优先级3:A列含"UA"且C列非空的行
- 优先级4:A列含"UA"且C列空的行
- 最后:其余A列非空的行
内容的提问来源于stack exchange,提问作者ant ant
相关产品推荐
相关产品推荐

