Я скопировал выписки из электронной таблицы с двумя вкладками.

Первая вкладка показывает день, когда техническое обслуживание было выполнено на конкретной машине, а вторая вкладка показывает даты зарегистрированных неисправностей.

Я хотел бы помочь с формулой, которая:

Будет возвращать самую earliest breakdown date из tab_downtime для машины после указанной maintenance date , для каждой даты обслуживания, указанной в tab_maintenance.

Tab_maintenance

A                B
Equipment no.   Maintenance Date
0001            2015/12/12
0001            2016/01/06
0001            2016/03/16
0004            2015/07/16
0004            2015/07/29
0004            2015/08/13
0004            2015/09/10
0004            2015/09/24
0004            2015/10/22
0004            2015/11/03
0004            2015/11/20

Tab_downtime

Equipment no.   Breakdown Date
0001            2015/12/23
0001            2016/01/24
0001            2016/03/24
0001            2016/03/24
0001            2016/03/24
0001            2016/03/29
0001            2016/03/29
0004            2015/07/01
0004            2015/07/04
0004            2015/07/17
0004            2015/07/28
0004            2015/08/22
0004            2015/07/09

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

=INDEX(DT!$H$2:$H$171, MATCH(MIN(ABS(DT!$H$2:$H$171-Maint!$M$2)), ABS(DT!$H$2:$H$171-Maint!$M$2), 0))

1 ответ1

0

Вот рабочее решение, оно отличается от вашего, поскольку я не смог продолжить вашу логику.

=IFERROR(1/(1/MIN(IF((A2=$F$2:$F$14)*(B2<$G$2:$G$14),$G$2:$G$14,"-"))),"")

куда

  • MIN(...) выполняет фактический выбор ближайших данных
  • IF((A2=$F$2:$F$14)*(B2<$G$2:$G$14),$G$2:$G$14,"-") выбирает только те строки строк, которые соответствуют вашим критериям
  • 1/(1/MIN(..)) используется для генерации сообщения об ошибке для отлова дат технического обслуживания без последующей разбивки (в противном случае возвращается 0)
  • IFERROR(..,"") для преобразования сообщений об ошибках в пустую строку, в которой не найдено последующих разбивок
  • Это формула массива, поэтому вам нужно нажать CTRL + SHIFT + ENTER после вставки ее в ячейку.

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