
Я пытаюсь разработать инструмент для электронных таблиц, который поможет отслеживать валюту обучения профессиональных летчиков. Чтобы считаться «текущими» во всех видах обучения, летчики должны выполнять различные учебные мероприятия в установленные периоды времени.
Например, если у члена экипажа есть 30-дневный запас для прохождения подготовки к старту, то он захочет узнать дату, когда он должен пройти следующее мероприятие по подготовке к старту, прежде чем станет недействительным.
Рассмотрим следующую таблицу учебных мероприятий (1–5), дат и ответов ДА/НЕТ. Существует ли формула для возврата самой последней даты для данного мероприятия?
1 2 3 4 5
01/03/14|YES|NO |YES|NO |YES|
01/05/14|NO |NO |YES|YES|NO |
01/12/14|YES|YES|YES|YES|NO |
01/15/14|YES|NO |NO |NO |NO |
01/21/14|NO |NO |YES|YES|NO |
01/25/14|NO |YES|YES|NO |NO |
Учитывая приведенную выше псевдотаблицу, я бы хотел, чтобы Excel возвращал следующие значения:
Для события 1: 15.01.2014Для события 2: 25.01.2014
Для события 3: 25.01.2014
Для события 4: 21.01.2014
Для события 5: 03.01.2014
Это возможно?
решение1
Да, это возможно. Введите это в каждый столбец учебного мероприятия:
=MAX(IF(C3:C8="YES",$B$3:$B$8))
Это формула, которая будет применяться для события 1. Предположим, что даты указаны в столбце B, а данные о событиях начинаются со столбца C и далее.
Это необходимо ввести как формулу массива, поэтому нажмите Ctrl+ Shift+ Enter.
решение2
решение3
Вы можете использовать LOOKUP
, который не требует "входа в массив". Предполагая даты в столбце A
=LOOKUP(2,1/(B2:B7="Yes"),$A2:$A7)
Примечание: это находит последнее значение «позиционно» — предполагая, что ваши даты отсортированы в порядке возрастания, как в вашем примере, что будет совпадать с последним значением в хронологическом порядке.