Вычислить сумму различий между строками, но только если предыдущая ячейка больше текущей - PullRequest
1 голос
/ 19 февраля 2020

У меня началась головная боль из-за моей проблемы, которую я не могу понять из-за любви ко мне. Существует неизвестное количество столбцов, если это имеет какое-либо значение, но в основном каждая строка должна сравниваться с предыдущей, и ТОЛЬКО когда предыдущее значение больше, разница между ними добавляется к сумме.

Так например, у меня есть эта таблица

  |  A  |
--|-----|
1 | 100 |
2 |  90 |
3 |  80 |
4 | 100 |
5 |  70 |
6 |  20 |
7 | 100 |
...

Ожидаемый результат: 100, полученный из ((100-90) + (90-80) + (100-70) + (70-20))

Я провел целый день, просматривая каждую страницу учебника Excel, и не могу найти ни одного полезного ответа. Пожалуйста, помогите: (

Ответы [ 2 ]

1 голос
/ 19 февраля 2020

Формула для ячейки B2: (потяните вниз по строкам).

=IF(A1>B1;A1-B1;0)+B1

Logi c: Если предыдущее значение больше текущего значения, добавьте разницу к итоговому значению.

0 голосов
/ 20 февраля 2020

Если вы хотите сделать это в одной формуле, базовый способ c будет двумя, используйте два диапазона, смещенных на одну ячейку:

=SUMPRODUCT((A1:A6-A2:A7)*(A1:A6>A2:A7))

Если вы хотите сделать немного больше динамических c (при условии отсутствия пробелов в данных) вы можете попробовать

=SUMPRODUCT((A1:INDEX(A:A,COUNT(A:A)-1)-A2:INDEX(A:A,COUNT(A:A)))*(A1:INDEX(A:A,COUNT(A:A)-1)>A2:INDEX(A:A,COUNT(A:A))))

enter image description here

Если между числами есть пробелы, это не сработает и вам, вероятно, придется go вернуться к более простой формуле раскрывающегося списка

...