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

Транзакции показывают новое значение после транзакции для двух учетных записей.

И мне нужна универсальная функция для расчета "стоимости транзакции", что-то вроде Ai - Bi… Ai+1 - Bi+1…

или как функция (псевдокод), что-то вроде этого:

int res = 0; foreach (int i = 1; i < 4 (rows); i++) { if (Bi != null && Ai > Bi) { res = Ai - Bi } }

Пример:

          A                B (transactions)
    ------------------------------------------------------------
1   |  $ 100     |                                             |
    ------------------------------------------------------------
2   |            |                                             | 
    ------------------------------------------------------------
3   |  $ 200     | $ 150 (now, after transaction)              |  
    ------------------------------------------------------------
4   |  $ 300     | $ 350 (now, after transaction)              | 
    ------------------------------------------------------------
5   | sum(A1:A4) | (A1-B1)+(A2-B2)+(A3-B3)… (transaction value)|
    ------------------------------------------------------------
=>  | $ 600      | $ 50                                        |
    ------------------------------------------------------------

Поэтому я перевел 50 долларов со счета А3 на А4.

Мне в основном нужна логика

Любая помощь очень ценится :)

1 ответ1

1

Две формулы:

SUMPRODUCT:

=SUMPRODUCT((B1:B4<A1:A4)*(B1:B4<>"")*(A1:A4-B1:B4))

Или эта формула массива:

=SUM(IF((B1:B4<A1:A4)*(B1:B4<>""),(A1:A4-B1:B4)))

Будучи формулой массива, она должна быть подтверждена Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования. Если все сделано правильно, тогда Excel поместит {} вокруг формулы.

Если ячейки заполнены формулами, которые возвращают "" то используйте в качестве пустой строки второе значение, что приведет к ошибке с формулой SUMPRODUCT. Если они действительно пусты, то любой из них будет работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .