如何用Excel SORT函数对不连续列排序并排除无关列
Excel不连续多列排序解决方案
要实现A、B、D列(排除无关的C列)按名义值(D列)排序,不能直接引用连续区域,得先把需要的不连续列组合成虚拟连续区域,再用SORT函数排序,以下是两种可行方案:
方法1:使用HSTACK函数(Excel 365/2021及以上版本支持)
=SORT(HSTACK(A2:A12,B2:B12,D2:D12),3,-1,FALSE)
HSTACK(A2:A12,B2:B12,D2:D12):将A、B、D列的目标区域横向合并成一个连续的虚拟数组,彻底避开C列- 第二个参数
3:指定按合并后的第3列(对应原D列的名义值)作为排序依据 - 第三个参数
-1:表示降序排序(需升序则改为1) - 第四个参数
FALSE:按列方向排序(为默认值,可省略)
方法2:使用CHOOSE函数(兼容更多Excel版本)
=SORT(CHOOSE({1,2,3},A2:A12,B2:B12,D2:D12),3,-1,FALSE)
CHOOSE({1,2,3},A2:A12,B2:B12,D2:D12):通过数组{1,2,3}指定要组合的3列数据,生成虚拟连续区域- 后续参数含义与方法1完全一致
注意事项
- Excel 365/2021版本输入公式后直接按
Enter即可生效;旧版本需按Ctrl+Shift+Enter触发数组公式 - 若需更换排序依据列,调整第二个参数的数字即可(比如按A列排序就改成
1)
内容的提问来源于stack exchange,提问作者Diego Domínguez Blanco
相关产品推荐
相关产品推荐

