Я бы использовал эту формулу:
= index (C: C, max (arrayformula (match (filter (A: A, B: B = "A", C: C ‹>" "), A: A, 0))), 1)
Эта формула предполагает, что ваши данные находятся в столбцах A, B, C и для каждого значения «A» в столбце Criteria дата отличается. (Если это не так, то эта формула не будет работать, см. Ниже.
Посмотрим на формулу снаружи снаружи:
- filter (A: A, B: B = "A", C: C ‹>" ") - в результате будут получены даты, где в столбце" Критерии "стоит" A ", а где Столбец «Значение» не пуст.
- arrayformula (match (filter (A: A, B: B = "A", C: C ‹>" "), A: A, 0)) - на этом этапе мы в основном находим строку номер, в котором присутствуют эти даты. Функция совпадения будет искать даты (подсчитанные на шаге 1). Формула массива нужна, потому что результатов будет больше.
- max (arrayformula (match (filter (A: A, B: B = "A", C: C ‹>" "), A: A, 0))) - найдет максимальное номер строки (максимальный номер строки, который содержит букву "A" в столбце "Критерии")
- index (C: C, max (arrayformula (match (filter (A: A, B: B = "A", C: C ‹>" "), A: A, 0))), 1) < / strong> - Наконец, мы используем функцию ИНДЕКС для перехода к значению с максимальным номером строки.
Теперь, если вы хотите, чтобы эта формула работала на другом листе, вы должны написать вместо, например:
= index (C: C, ... => = index (Data! C: C, ...
Предполагая, что ваши данные находятся в вашем листе данных.
Если вы хотите, чтобы этот лист был динамичным, это немного сложно. Предположим, вы получаете значение имени листа из ячейки G1. Затем следует написать:
= индекс (косвенный (объединить (G1, "! C: C")), ...
Это не так красиво, как вам следовало бы делать в каждом случае, когда это встречается в этой длинной формуле (описанной ранее). Вместо этого вы можете сделать некоторые предварительные работы.
Давайте напишем это в вашу ячейку H1: = concatenate (G1, "! C: C") - Если в ячейке G1 имя листа - "Data", тогда ячейка H1 должна содержать: Data! C: C, аналогично вы можете добавить к
Ячейка H2: = объединить (G1, "! A: A"), ячейка H3: = объединить (G1, "! B: B")
Теперь вы можете написать (и это, я думаю, окончательный ответ на ваш вопрос):
= индекс (косвенный (H1), max (формула массива (соответствие (фильтр (косвенный (H2), косвенный (H3) = "A", косвенный (H1) ‹>" "), косвенный (H2), 0) )), 1) - где H1, H2, H3 будут ссылаться на столбцы вашей таблицы данных.
Я надеюсь, что это помогает.
person
zolley
schedule
29.04.2014