Excel 找出最大值及其相邻的 N 个成员

某列都是数值:


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)

Picture1png

函数 pmax 可获得最大值的位置。calc 按指定位置对成员进行计算。~ 是当前成员。[] 表示按相对位置的区间取成员,自动阻止数组越界。

https://old.reddit.com/r/excel/comments/1d41iix/find_highest_value_with_15_rows_before_and_after/