'功能: | 对二维数组按第L列(多列多次)排序 |
'函数名: | YjhSort | | |
| 各参数以“,”分隔,
参数2、参数3、排序关键字(多列多次)以“,”分隔。个数应一致
子参数“;”分隔
参数4、统计排名关键字(多列多次)以“,”分隔。 |
'参数1: | a | | 待排序数组 |
| | | |
'参数2: | s | | 排序方式,多列(次)以“,”分隔。可省略,默认为:"a",升序 |
' | asc或a | | 升序,按字符排序(忽略大小写)(默认) |
' | 非 asc a | | 降序,按字符排序(忽略大小写) |
' | 1 |
| 升序,按数值排序
|
' | 非 1 0 |
| 降序,按数值排序
|
' | | 1;R;n | 对数字按n位取舍(n=2,保留2位小时) |
' | 0 | | 不排序,用于(合并单元格)分组,本次不排序 |
| 以上参数可不在首位,与下列参数组合 |
' | L;n或Len;n |
| 按长度排序
|
| | L1或Lenasc或La | 升序 |
' | | 非 L1或Lenasc或La | 降序 |
| | n=0 | 按字符数 Len排序(可省略,默认) |
| | n=1 | 按字节数 LenB排序 |
' | SL;sl1;sl2 |
| 按照sl1固定长度处理字符后进行排序,sl1≠0(=0返回错误)
升降序同前
|
' | | sl1>0 | 截取或扩充(扩充符号sl2,可省略,默认为:" ") |
' | | sl1<0 | 忽略长度≠- sl1 所在行 |
' | Sp;s1;n | | 按照s1符号分列 取第n个进行排序,n从0开始。
升降序同前。 |
' | S;s1;s2;p1 | | 按照s1和s2两符号中间的 进行排序,p1见下一条。
升降序同前。 |
' | P;n;p1 |
| 含p1(可为"")的排至最后(a升序)
或最前(非a降序)。
|
' | |
| P须位于“;”前(第一子参数尾)
p1位于尾部(最末子参数)
n控制输出数组(可省略,默认为:0)
|
' | | n=0 | 输出数组行数不变(默认) |
' | | n=1 | 输出数组行数变,忽略含p1所在行 |
' | P或Pin |
| 按拼音排序
|
| | P1或Pinasc或Pa | 升序 |
' | | 非 P1或Pinasc或Pa | 降序 |
' | R | | 随机(乱序) |
' | | | |
'参数3: | L | | 排序列,多列以“,”分隔。可省略,默认为:1 |
' | u;n;p |
| 本列按自定义序列(参数10)排序,n
u0:全相同 u1(默认):前面相同 u2:含自定义
|
| | n | 自定义序列 列号(默认首列) |
' | | p=0 | 不在自定义序列的排尾(默认),输出数组行数不变 |
' | | p=1 | 不在自定义序列的排除,输出数组行数变 |
| | p=2 | 在自定义序列的排尾,输出数组行数不变 |
| | p=3 | 在自定义序列的排除,输出数组行数变 |
| | p=4 | 区间,已排序(升序) |
| | p=5 | 区间,已排序(降序) |
| | p=6 | 最接近,已排序 |
| | p=7 | 区间,未排序 |
| | p=8 | 最接近,未排序 |
' | A | | 本列数值按绝对值排序
A须位于“;”前(第一子参数尾) |
' | S | | 本列字符串的字符顺序是反向的(倒卷的) |
' | R;n | | 本列处理重复(如:1,2R 为第2列处理重复)
后面的排序将被忽略(已为唯一,无需再排) |
' | | n=1 | 仅唯一 |
' | | n=2 | 仅多重(保留一个) |
' | | n=3 | 去重复(默认) |
' | | | |
'参数4: | L0 | | 不参与排序列(各次),可省略,默认为:"" |
| W | | 返回排序位一维数组:W(1)返回排序第1的a数组行数。(需置于首位) |
' | c,L;Z;n;V | | C 返回分类统计二维数组(需置于首位)。
L 统计列(默认 1)
Z 统计分组(排序)位(默认 最大)
n 输出选择(默认 3)
V 统计项类型(默认 1:数值型、0或字母:字符型)
输出各列为:1 分类细项;
2 统计项(见n说明);
……
最后 分类大项 |
' | | n=0 | 全部 以下各项,以","分隔 |
' | | n=1 | 计数 |
' | | n=2 | 平均 字符项(参数2指定)返回"" |
' | | n=3 | 合计 默认 字符项(参数2指定)返回"|"连接的各合计子项 |
' | | n=4 | 合计子项 返回合计n=3的最小项 |
' | | n=5 | 合计子项 返回合计n=3的最大项 |
' | | n=6 | 合计子项 返回合计n=3的首项 |
' | | n=7 | 合计子项 返回合计n=3的末项 |
| | | |
| | | |
| R,L;Z;n;k 或Ranking | R 返回排名二维数组(需置于首位)。未参加排名的返回0
L 排名列(默认 1) 正数(升序)、负数(降序)、0 按分组不再排序
Z 排名分组(排序)位(默认 最大)
n 输出选择(默认 0)
k 名次差值(默认 0) |
| | n=0 | 参数5:m 至参数6:n(默认) |
| | n=1 | 1 至 n-m+1,无并列名次 |
| | n=2 | 1 至 n-m+1,并列名次(差值不大于k,为并列)。西式排名 |
| | n=3 | 1顺排,并列名次(差值不大于k,为并列)。中式排名 |
| | n=11 12 13 | 不按分组排名次。其他同n=1 2 3 |
| | | |
'参数5: | m | | 参与排序列起始行,可省略,默认为:LBound(a,1) |
| | | |
'参数6: | n | | 参与排序列结束行,可省略,默认为:UBound(a,1) |
| | | |
'参数7: | hz | | 指定行数 成组排序,可省略,默认为: 1。
为0时不固定行数(合并单元格),本列排序
为-1时分段排序 |
' | | | |
'参数8: | hzi | | 行组参与排序行,可省略,默认为: 1。
1<=hzi<=hz |
| | | |
'参数9: | st | | 第二列后按S型(升序、降序交叉)排序,可省略,默认为:False |
| | | |
'参数10: | user | | 自定义序列,可省略,默认为:"" |
| | | |
'返回值: | 多列排序的数组 | |