В excel 365 как последовательно вычитать значения, но пропускать пустые ячейки

#excel #formula #cell #subtraction

Вопрос:

Не знаю, как это точно сформулировать. У нас есть электронная таблица для отслеживания времени работы насоса.

обрезанный скрини

Мы хотим вычесть время выполнения в столбце B и вывести в столбец C , чтобы, например B4-B5 , вывести .3 в C4 . У меня нет проблем с основной формулой =B4-B5 в C4 и так далее по колонке. Однако, когда я доберусь до B8 этого, я хочу B7 вычесть B10 и пропустить B8 и B9 . Причина в том, что 25-е и 26-е были выходными, поэтому значения не были записаны. (эти листы печатаются, записываются на месте, а затем возвращаются на завод в конце месяца) итак, что, если возможно, будет формулой, которую я могу использовать?

после использования формулы происходит следующее: введите описание изображения здесь

Ответ №1:

Попробуйте следующую формулу в C4 и перетащите вниз

 =IF(B4<>0,B4-INDEX(B5:$B$33,MATCH(TRUE,B5:$B$33<>0,0)),0)
 

Это проверка ячеек ниже на наличие первого ненулевого значения и возврат разницы к этому значению. Ключевой принцип здесь заключается в диапазоне B5:$B$33 . Знаки доллара гарантируют, что при перетаскивании формулы в конец диапазона, который вы проверяете, останется на уровне B33, в то время как B5 станет B6, B7 и т. Д.

Комментарии:

1. святое дерьмо, бэтмен, это работает! Я пытаюсь следовать формуле и не могу понять, КАК она работает. Я хорошо разбираюсь только в базовых функциях Excel, но я потратил много часов, пытаясь заставить это работать. Нет места даже близко к тому, что у вас есть. Миллион раз спасибо!

2. хорошо, это работает, пока вы не доберетесь до дна, и в c32 он показывает #n/a

3. не знаю, как опубликовать новый снимок экрана, так как я не вижу никаких ссылок на изображение для публикации, поэтому я отредактировал исходное сообщение и добавил второй снимок

Ответ №2:

Если записи в столбце B строго не увеличиваются, как в вашем примере, в C4 :

=IF(B4,B4-XLOOKUP(9^9,B5:B$33,B5:B$33,B4,-1),0)

и переписал.

Комментарии:

1. Спасибо, что сработало.