Есть ли функция Excel, чтобы найти предыдущее ненулевое число из максимального значения в строке - PullRequest

1 Ответ

0 голосов
/ 03 мая 2020

Это работает, но я бы сделал немного короче, используя массивы.

  • Назовите диапазон интересов Rng
    • В вашем случае относится к C14:N14
  • Найдите значение MAX; используйте MATCH, чтобы получить столбец в Rng и вычесть 1
    • MATCH(MAX(Rng),Rng,0)-1
  • Создать массив из этого значения:
    • Если у вас есть функция SEQUENCE: SEQUENCE(MATCH(MAX(Rng),Rng,0)-1)
    • Если у вас нет: ROW(INDEX($A:$A,1):INDEX($A:$A,MATCH(MAX(Rng),Rng,0)-1))
      • {1;2;3;4;5;6}
  • LOOKUP последнее ненулевое значение в этом массиве:

Собираем все вместе:

=LOOKUP(2,1/INDEX(Rng,0,SEQUENCE(MATCH(MAX(Rng),Rng,0)-1)),Rng)

или

=LOOKUP(2,1/INDEX(Rng,0,ROW(INDEX($A:$A,1):INDEX($A:$A,MATCH(MAX(Rng),Rng,0)-1))),Rng)

enter image description here

ПРИМЕЧАНИЕ:

В некоторых более ранних версиях Excel вам может понадобиться:

=LOOKUP(2,1/INDEX(Rng,0,N(IF(1,ROW(INDEX($A:$A,1):INDEX($A:$A,MATCH(MAX(Rng),Rng,0)-1))))),Rng)

и «подтвердить» эту формулу массива , удерживая ctrl + shift при нажатии , ввести . Если вы сделаете это правильно, Excel поместит фигурные скобки {...} вокруг формулы, как показано в строке формул *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...