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/