Как найти последний экземпляр нулевого значения в ряду чисел - PullRequest
1 голос
/ 29 марта 2019

У меня есть таблица с количествами запасов, перечисленных по дате (слева направо), и мне нужна формула, которая будет возвращать ячейку, в которой отображается последнее нулевое значение. Ссылка на этот результат позволит мне завершить формулу, которая показывает «На складе с ...», путем индексации ячейки заголовка для этого столбца (смещение на 1 столбец, до первой ячейки> 1 после последнего нуля.)

Я не хочу использовать ни массив, ни макрос, ни VBScript.

Это часть более длинной формулы, где я ищу все нулевые значения в строке («Продукт никогда не складируется»), где все значения в строке> 0 («Продукта никогда не было в наличии»), и если запас на текущую дату равен 0, то в строке есть хотя бы один экземпляр с> 0 («Товар отсутствует на складе с тех пор ...»). Третья часть формулы была выполнена путем определения последнего значения> 0 с помощью = LOOKUP (2,1 / (A: A> 0), A: A), затем смещение на один столбец. У меня есть формулы, чтобы успешно вернуть результаты для этих сценариев.

Я уже пробовал две формулы для четвертого сценария, где запас самой последней даты> 0, но в строке есть хотя бы один экземпляр нуля:

=LOOKUP(2,1/(A:A=0),A:A)

=INDEX(B:B,SUMPRODUCT(MAX((Item=0)*ROW(Item))))

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

Некоторые примеры данных:

Jan-1 Jan-2 Jan-3 Jan-4 Jan-5

1     3     5     4     3      Result: Product never out of stock

0     0     0     0     0      Result: Product never in stock

3     1     0     0     0      Result: Product out of stock since [Jan-3]

1     2     0     4     3      Result: Product in stock since [Jan-4]

Это четвертый сценарий, описанный выше, я не могу написать формулу для завершения ввода даты.

Единственный способ заставить меня работать до сих пор - это переставить все столбцы даты так, чтобы они текли справа налево, а затем с помощью INDEX и MATCH найти первый нулевой экземпляр в строке, чтобы завершите формулу. Это также успешно работает для поиска первого> 0 экземпляра (для третьего сценария для отсутствия на складе), так же как и мое решение для резервного копирования. Однако это не идеально, так как мои даты должны отображаться слева направо для целей построения графиков.

1 Ответ

1 голос
/ 29 марта 2019

Вы можете сделать что-то вроде этого:

enter image description here

...