如何实现在线文本阶梯生成器同款排序?求金字塔/Chevron样式公式
Excel 实现金字塔(Pyramid)和 Chevron 样式文本排序
针对你需要的两种阶梯排序样式,以下是基于Excel动态数组函数的实现公式:
一、金字塔(Pyramid)样式(短→长→短)
该样式会先按文本长度从短到长排列所有数据,再按从长到短排列除最长文本外的所有数据,形成中间最长、两边逐渐缩短的阶梯效果。
在空白单元格(比如D2)输入公式:
=LET( 数据源, A2:A21, 长度数组, LEN(数据源), 升序排序, SORTBY(数据源, 长度数组), 最长长度, MAX(长度数组), 过滤非最长, FILTER(升序排序, LEN(升序排序)<>最长长度), VSTACK(升序排序, SORTBY(过滤非最长, LEN(过滤非最长), -1)) )
公式逻辑:
LET函数定义变量,简化公式结构- 先通过
SORTBY按文本长度升序排列所有数据 - 过滤掉最长的文本,将剩余文本按长度降序排列
- 用
VSTACK将升序序列和降序过滤序列垂直拼接,形成金字塔阶梯
二、Chevron(V形)样式(长→短→长)
该样式会先按文本长度从长到短排列所有数据,再按从短到长排列除最短文本外的所有数据,形成中间最短、两边逐渐变长的V形效果。
在空白单元格(比如E2)输入公式:
=LET( 数据源, A2:A21, 长度数组, LEN(数据源), 降序排序, SORTBY(数据源, 长度数组, -1), 最短长度, MIN(长度数组), 过滤非最短, FILTER(降序排序, LEN(降序排序)<>最短长度), VSTACK(降序排序, SORTBY(过滤非最短, LEN(过滤非最短), 1)) )
公式逻辑:
- 用
SORTBY按文本长度降序排列所有数据 - 过滤掉最短的文本,将剩余文本按长度升序排列
- 用
VSTACK将降序序列和升序过滤序列垂直拼接,形成V形阶梯
内容的提问来源于stack exchange,提问作者Statto
相关产品推荐
相关产品推荐

