Найти самое правое определенное значение и вернуть количество ячеек слева

Найти самое правое определенное значение и вернуть количество ячеек слева

Мне нужно найти самую правую ячейку в строке, которая содержит "1", а затем вернуть количество ячеек слева, которые содержат данные. Данные всегда будут "1" или "0" и будут заполнены.

С другой стороны, это можно рассматривать как попытку подсчитать количество ячеек, начиная слева, пока не встретится последняя «1».

В моем примере я пытаюсь заполнить ячейки B9:B13 с помощью формулы.

Любая помощь будет высоко оценена!

Пример

решение1

См. этот пример. Данные находятся в B2:E7.

В G2 введите следующую формулу и нажмите CTRL+ SHIFT+ ENTERв строке формул, чтобы создать формулу массива. Теперь формула должна быть заключена в фигурные скобки, чтобы указать, что это любая формула массива.

=MAX(IF(B2:E2=1,COLUMN(B2:E2),COLUMN(A2)))-COLUMN(A2)

Перетащите формулу вниз до нужных строк. Возможно, вам придется заменить запятую (,) на точку с запятой (;) в случае, если разделитель списка в ваших региональных настройках — ; вместо ,

Логика заключается в том, чтобы вернуть номера столбцов, если есть 1, иначе номер столбца Item. Возьмите максимум из этого и вычтите из номера столбца Item.

введите описание изображения здесь

решение2

G2: =IFERROR(LOOKUP(2,1/($B2:$E2),COLUMN($A2:$D2)),0)

введите описание изображения здесь

решение3

Чуть более простой вариант:

=AGGREGATE(14;6;(B2:E2)*COLUMN(A2:D2);1)

введите описание изображения здесь

Связанный контент