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)
函数 pmax 可获得最大值的位置。calc 按指定位置对成员进行计算。~ 是当前成员。[] 表示按相对位置的区间取成员,自动阻止数组越界。
https://old.reddit.com/r/excel/comments/1d41iix/find_highest_value_with_15_rows_before_and_after/
英文版