EXCEL 分段排序--Excel难题#86

Excel某表格有3列。

|----|-----|-----|-----|
| | A | B | C |
| 1 | A1 | B1 | 51 |
| 2 | A2 | B2 | 721 |
| 3 | A3 | B3 | 382 |
| 4 | A4 | B4 | 9 |
| 5 | A5 | B5 | 73 |
| 6 | A6 | B6 | 577 |
| 7 | A7 | B7 | 91 |
| 8 | A13 | B13 | 150 |
| 9 | A14 | B14 | 49 |
| 10 | A17 | B17 | 702 |
| 11 | A18 | B18 | 705 |
| 12 | A34 | B34 | 33 |
| 13 | A35 | B35 | 409 |
| 14 | A36 | B36 | 579 |
| 15 | A37 | B37 | 10 |

现在要求对表格按照第3列进行分段排序,由小到大排列。第1段:第3列小于等于50;第2段:第3列介于700和720之间;第3列是其他情况,即第3列大于50并小于700,或大于720。

|----|-----|-----|-----|
| | E | F | G |
| 1 | A4 | B4 | 9 |
| 2 | A37 | B37 | 10 |
| 3 | A34 | B34 | 33 |
| 4 | A14 | B14 | 49 |
| 5 | A17 | B17 | 702 |
| 6 | A18 | B18 | 705 |
| 7 | A1 | B1 | 51 |
| 8 | A5 | B5 | 73 |
| 9 | A7 | B7 | 91 |
| 10 | A13 | B13 | 150 |
| 11 | A3 | B3 | 382 |
| 12 | A35 | B35 | 409 |
| 13 | A6 | B6 | 577 |
| 14 | A36 | B36 | 579 |
| 15 | A2 | B2 | 721 |

使用 SPL XLL

复制代码
=spl("=?.enum@n([$[?<=50],$[?>=701 && ?<=720]],~3).conj(~.sort(~3))",A1:C15)

函数 enum 用于枚举分组,分组依据是字符串表达式,$[] 是字符串标志,@n 表示其他情况单独分一组。~ 表示序列的当前成员,~3 表示序列的第 3 个成员。

免费下载SPL桌面版

相关推荐
Cyanto几秒前
Java并发编程面试题
java·开发语言·面试
海的诗篇_7 分钟前
前端开发面试题总结-JavaScript篇(一)
开发语言·前端·javascript·学习·面试
じ☆ve 清风°17 分钟前
理解JavaScript中map和parseInt的陷阱:一个常见的面试题解析
开发语言·javascript·ecmascript
sss191s28 分钟前
Java 集合面试题从数据结构到 HashMap 源码剖析详解及常见考点梳理
java·开发语言·数据结构
IGP934 分钟前
20250606-C#知识:委托和事件
开发语言·c#
hjyowl44 分钟前
题解:AT_abc407_c [ABC407C] Security 2
c语言·开发语言·算法
唐墨1231 小时前
android与Qt类比
android·开发语言·qt
Code_流苏1 小时前
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
开发语言·c++·stl容器·课设·期末大作业·日历程序·面向对象设计
道剑剑非道2 小时前
QT开发技术【ffmpeg + QAudioOutput】音乐播放器 完善
开发语言·qt·ffmpeg
武昌库里写JAVA2 小时前
iview Switch Tabs TabPane 使用提示Maximum call stack size exceeded堆栈溢出
java·开发语言·spring boot·学习·课程设计