#excel #excel-formula
Вопрос:
В настоящее время у меня есть эта формула, но она возвращает ненулевые значения в обратном порядке, в котором я хочу.
Вот формула:
=INDEX($R275:$BE275,LARGE(IF($R275:$BE275<>0,COLUMN($R275:$BE275)- MIN(COLUMN($R275:$BE275)) 1),COLUMNS($A:A)))
Это возвращает первое ненулевое значение из столбца, возвращающегося к R, когда я хочу, чтобы оно работало в другую сторону, первый экземпляр справа налево. Когда я набрасываю формулу справа, я хочу, чтобы она принимала следующее ненулевое значение справа налево.
Если бы я мог разобраться в этом, а также в том, как вернуть заголовок столбца, это было бы здорово.
Комментарии:
1. Измените
LARGE
наSMALL
2. Для заголовка измените значение
=INDEX($R275:$BE275,
на=INDEX($R$1:$B$1,
то, где находится ваш заголовок в строке 1.
Ответ №1:
Скриншот/здесь см..
Приведенная вами формула возвращает последнее ненулевое значение, которое, как вы также утверждаете, вы пытаетесь найти:
«Я хочу…первый экземпляр справа налево».
Чтобы избежать двусмысленности, я предлагаю решения для первого такого случая (и соответствующего заголовка), а также пересмотренный метод определения последнего случая (или первого случая «справа налево»).
Первое появление (работает слева направо)
Функция может быть значительно упрощена до следующего:
=INDEX(A2:H2,0,MATCH(1,--(A2:H2<>0),0))
Соответствующий заголовок:
=INDEX($A$1:$H$1,0,MATCH(1,--(A2:H2<>0),0))
Согласно @ScottCraner, это также работает (хотя и использует ту же излишне длинную функцию).:
=INDEX($R275:$BE275,SMALL(IF($R275:$BE275<>0,COLUMN($R275:$BE275)- MIN(COLUMN($R275:$BE275)) 1),COLUMNS($A:A)))
Последнее происшествие
Пересмотренная функция для рассмотрения (требуется версия Excel, совместимая с Office 365, и настройка для возврата соответствующего заголовка)..
=LET(reverse,INDEX(A2:H2,0,SEQUENCE(1,COUNTA(A2:H2),COUNTA(A2:H2),-1)),INDEX(reverse,MATCH(1,--(reverse<>0),0)))