某列都是数值:
A | |
1 | 13 |
2 | 21 |
3 | 46 |
4 | 21 |
5 | 49 |
6 | 9 |
7 | 34 |
8 | 23 |
9 | 6 |
10 | 1 |
11 | 37 |
12 | 49 |
13 | 42 |
14 | 40 |
15 | 15 |
16 | 31 |
17 | 17 |
18 | 1147 |
19 | 18 |
20 | 30 |
21 | 22 |
22 | 4 |
23 | 25 |
24 | 19 |
25 | 13 |
26 | 27 |
27 | 38 |
28 | 30 |
29 | 16 |
30 | 12 |
31 | 23 |
32 | 3 |
33 | 23 |
34 | 19 |
35 | 14 |
36 | 46 |
37 | 23 |
38 | 37 |
39 | 38 |
40 | 28 |
请找出最大值及其相邻的 10 个成员,注意越界检查,实际符合条件的成员数可能小于 10
A | |
1 | 23 |
2 | 6 |
3 | 1 |
4 | 37 |
5 | 49 |
6 | 42 |
7 | 40 |
8 | 15 |
9 | 31 |
10 | 17 |
11 | 1147 |
12 | 18 |
13 | 30 |
14 | 22 |
15 | 4 |
16 | 25 |
17 | 19 |
18 | 13 |
19 | 27 |
20 | 38 |
21 | 30 |
使用 SPL XLL,输入公式:
=spl("=p=(d=?).pmax(),d.calc(p,~[-10:10])",A1:A40)
函数 pmax 可获得最大值的位置。calc 按指定位置对成员进行计算。~ 是当前成员。[] 表示按相对位置的区间取成员,自动阻止数组越界。