Получение значения на основе последней даты для другого заданного значения - PullRequest
0 голосов
/ 05 января 2020

У меня есть такая таблица

enter image description here

Я хочу посмотреть последнюю сумму для конкретного арендатора. Например,

enter image description here

Формулы в B2 должны возвращать £ 20,00

Исходные данные не отсортированы. Для арендатора будет только один платеж в день. Я использую последнюю версию Excel.

Ответы [ 2 ]

1 голос
/ 06 января 2020

Я думаю, что это так:

enter image description here

Формулы в F2 (последняя сумма):

{= INDEX ( C: C, MATCH (1, (E2 = B: B) * (MAXIFS (A: A, B: B, E2) = A: A), 0))}

( Это массив формул, введенный с помощью CTRL-SHIFT-ENTER)

Благодаря https://exceljet.net/formula/index-and-match-with-multiple-criteria

0 голосов
/ 06 января 2020

@ Подход MikeFleming должен работать хорошо.

Другой подход, использующий некоторые из новых функций, доступных в Excel (SORT и FILTER в данном случае). Я также использую Таблица со структурированными ссылками. tenantName может быть любой ячейкой или именованной ссылкой на ячейку.

=LOOKUP(9.9E+307,INDEX(SORT(FILTER(pmtTbl,pmtTbl[Tenant]=tenantName),1,1,FALSE),0,3))

или (немного короче с использованием значений по умолчанию для определенных аргументов):

=LOOKUP(9.9E+307,INDEX(FILTER(SORT(pmtTbl),pmtTbl[Tenant]=tenantName),0,3))
  • FILTER: вернуть только те строки таблицы, которые содержат tenantName
  • SORT: отсортировать по столбцу даты по возрастанию
  • INDEX: вернуть только столбец суммы в таблице
  • LOOKUP: этот метод возвращает последнюю запись в этом столбце.

enter image description here

...