Arrayformula для извлечения минимального значения в столбце на основе содержимого ячейки другого столбца

Я пытаюсь найти способ заставить мою minifs формулу работать в arrayformula в таблицах Google.

У меня есть два листа - Сводка и Данные. Что касается данных, у меня есть список имен в столбце A, которые дублируются. В столбце B есть список меток, которые соответствуют датам в столбце C. В сводке у меня есть запрос, который вытягивает список уникальных имен с третьей вкладки в столбец A. В столбце B я пытаюсь вытащить минимальная дата для каждого человека, не являющаяся датой прибытия.

Данные

Col A         Col B            Col C
James       departure        1/1/2019
Sarah       arrival          12/3/2018
Sarah       departure        3/12/2019
David       departure        5/23/2019
James       departure        12/2/2018
David       departure        4/7/2019
David       arrival          11/18/2018

Я знаю, что по своей сути формула min не работает в arrayformula без некоторого дополнительного сложного языка формул, для которого у меня, по общему признанию, нет навыков.

Формула, которую я сейчас использую,

=MINIFS(Data!C2:C,Data!A2:A,A2,Data!B2:B,"<>*arrival*")

Эта формула работает должным образом. Я просто очень хотел бы иметь возможность использовать arrayformula, поскольку мой список уникальных имен постоянно растет с каждым днем. Я ожидал, что вывод формулы на вкладке «Сводка» будет:

Col A           Col B
James         12/2/2018
David         4/7/2019
Sarah         3/12/2019

Ссылка на пример электронной таблицы: https://docs.google.com/spreadsheets/d/1v_eXKkiPpZwmOSmB3CBkSx_usP05J7hKdZlecQ0--Wk/edit#gid=0


comment
Привет, Линдси, и добро пожаловать в StackOverflow! Похоже, вы потратили какое-то время на выравнивание таблиц для этого вопроса - и, хотя это выглядит неплохо, для справки в будущем обычно проще форматировать такие вещи, заключив таблицу в тройные обратные кавычки! Это рассматривает его как блок кода, который сохраняет пробелы :) Вы не сделали ничего плохого - просто совет, который поможет вам в будущем!   -  person JeremyW    schedule 18.06.2019


Ответы (1)


=ARRAYFORMULA(TO_DATE(IFERROR(VLOOKUP(A2:A, 
 SORT(QUERY(Data!A2:C, "where B = 'Departure'"), 1, 1, 3, 1), 3, 0))))

0

person player0    schedule 17.06.2019
comment
Отлично! Большое спасибо! Не думал использовать функцию сортировки. - person Lindsay; 18.06.2019