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