Как получить значение ячеек из предыдущей видимой строки в формулах Excel

Можно ли написать формулу в Excel, чтобы рассчитать значение на основе предыдущей видимой строки?

Применяя Filter в столбцах предыдущая видимая строка изменяется, но обычные формалы не учитывают видимость предыдущей строки, поэтому результат не изменяется при применении фильтров. Например:

Давайте исходные значения ячеек электронной таблицы:

   A | B | C | D 
1: 5   3   1
2: 9   1   1
3: 2   3   0  
4: 7   8   1   =A3-B4 equals 2-8=-6

Теперь предположим, что мы делаем фильтр на C столбец, чтобы скрыть третий ряд, поэтому мы имеем

   A | B | C | D 
1: 5   3   1
2: 9   1   1
4: 7   8   1   =A3-B4 is still equals -6 but I want to get: 9-8=1

Можно ли получить такие формулы? Большое спасибо.

1 ответ

Решение

Попробуйте эту формулу

=LOOKUP(2,1/SUBTOTAL(3,OFFSET(A$1,ROW(A$1:A3)-ROW(A$1),0)),A$1:A3)-B4

SUBTOTAL/OFFSET part возвращает 1 или ноль для каждого значения в столбце A в зависимости от того, является ли оно видимым или нет, LOOKUP находит последний 1 (эквивалент последнего видимого значения) и дает это значение.

Другие вопросы по тегам