Ищете формулу(ы), которая вернет следующую дату (выше начальной даты) из ряда дат, а затем следующую дату из этой даты

Ищете формулу(ы), которая вернет следующую дату (выше начальной даты) из ряда дат, а затем следующую дату из этой даты

Рабочий лист 1 содержит все «этапы», пройденные нашим самолетом. Затем этап или этапы для каждого дня будут перенесены на рабочий лист 2 для дня 1, рабочий лист 3 для дня 2 и т. д. Этапы перечислены в столбцах, начиная с этапа 1, затем этапа 2 и т. д. У каждого этапа есть дата в верхней ячейке. Я создаю рабочую книгу, которая будет брать этап(ы) для каждого дня и переносить информацию из этого полета на другой рабочий лист (день 1, день 2,...). Проблема, с которой я сталкиваюсь, заключается в том, что полеты в день могут состоять из 1 этапа, 5-6 этапов. Есть 24 столбца, которые охватывают период около 2 недель. Каждый рабочий лист «День» имеет только 8 столбцов, поскольку мы никогда не пролетаем больше 8 этапов в день. Рабочий лист дня 1 прост, но на 2-й день у меня возникают проблемы. В настоящее время я использую комбинацию функций ЕСЛИ и И, чтобы написать формулу для определения следующей даты, которую она должна ввести. Но я просто не могу заставить это работать так, как я хочу. Я попробую напечатать пример ниже, который, надеюсь, прояснит эту мутную воду.

РАБОЧИЙ ЛИСТ ГЛАВНОЙ ПОЕЗДКИ

НОГА 1___НОГА 2___НОГА 3___НОГА 4___НОГА 5___НОГА
6 8/5______8/6______8/6_____8/7______8/7_____8/8
CAK_____PLN_____APA____ASE_____ADS_____DAL
PLN_____APA_____ASE____ADS_____DAL_____SUN

РАБОЧИЙ ЛИСТ 1-ГО ДНЯ

ЧАСТЬ 1
8/5
CAK
PLN

РАБОЧИЙ ЛИСТ ДНЯ 2

ЛЕГ 2___ЛЕГ 3
8/6______8/6
PLN______APA
APA______ASE

РАБОЧИЙ ЛИСТ 3 ДНЯ

ЭТАП 4___ЭТАП 5

8/7______8/7
ASE______ADS
ADS______DAL

РАБОЧИЙ ЛИСТ 4 ДНЯ

НОГА 6
8/8
ДАЛЬ
САН

Итак, рабочие листы «День 1», «День 2...» должны захватывать только следующие НОВЫЕ даты (и снова, это может быть от 1 до 8 этапов на каждом отдельном рабочем листе). Я понял, как переместить всю информацию о этапах, мне ПРОСТО нужно иметь возможность разделить даты на правильные рабочие листы.

Пожалуйста, дайте мне знать, если это недостаточно ясно. И СПАСИБО!!

решение1

Возможно, это поможет: на листе [День 1] в ячейке A2 поместите эту простую формулу, чтобы взять первую дату с [Листа1] =Лист1!A2 Вставьте эту формулу на лист [День 1] в ячейку B2 и заполните вправо до нужного вам расстояния — столбец H?

=ЕСЛИ(СЧЁТЕСЛИ(Лист1!2:2;$A2)>СТОЛБЕЦ()-1;$A2;"")

Это повторит дату в 'Day 1'!A2 столько раз, сколько она появляется на [Sheet1], что должно соответствовать Legs. Часть Column()-1 этой формулы основана на первой формуле, находящейся в столбце B, для столбца B она вернет 1, для столбца c она вернет 2 и т. д. для остальных столбцов. Это то, что сообщает ей, следует ли отображать дату в A2 на листе.

Итак, это должно позаботиться о датах листа [День 1]. Теперь для [День 2]. Формула для ячейки A2 немного сложна, но она проверяет, есть ли дата на предыдущем листе День # +1, +2, +3 или +4 на [Лист1]. Первое совпадение, которое помещается в ячейку A2. Теперь, если он показывает текст "Нет совпадений для предыдущей даты +1 to +4" вместо даты, это означает одно из двух: либо вы сделали более длительный перерыв между этапами, чем 4 дня, либо последняя дата на [Лист1] была найдена на предыдущем листе [День #]. Надеюсь, это имеет смысл. Вот формула для [День 2], ячейка A2:

=ЕСЛИ(ЕСНА(ПОИСКПОЗ(МАКС('День 1'!A2:H2)+1,Лист1!2:2,0)),ЕСЛИ(ЕСНА(ПОИСКПОЗ(МАКС('День 1'!A2:H2)+2,Лист1!2:2,0)),ЕСЛИ(ЕСНА(ПОИСКПОЗ(МАКС('День 1'!A2:H2)+3,Лист1!2:2,0)),ЕСЛИ(ЕСНА(ПОИСКПОЗ(МАКС('День 1'!A2:H2)+4,Лист1!2:2,0)),"Нет совпадений для предыдущей даты от +1 до +4",МАКС('День 1'!A2:H2)+4),МАКС('День 1'!A2:H2)+3),МАКС('День 1'!A2:H2)+2),МАКС('День 1'!A2:H2)+1)

Формула для ячеек B2:H2 листа [День 2] точно такая же, как и та, которую мы использовали для этих ячеек на листе [День 1].

Для каждого последующего листа [День №] вы берете указанную выше длинную формулу и вставляете ее в ячейку A2 на этом листе, а затем используете Правка-->Заменить, чтобы изменить ссылки «День 1» в ней на имя листа предыдущего дня.

Хотите сделать перерыв больше 4 дней? Лучше всего, наверное, поработать с текстовым редактором и Excel для этого упражнения. Возьмем этот сегмент формулы:

ЕСЛИ(ЕСНА(ПОИСКПОЗ(МАКС('День 1'!A2:H2)+4,Лист1!2:2,0)),"Нет совпадений для предыдущей даты +1 до +4",МАКС('День 1'!A2:H2)+4)

и внесите в него следующие изменения: Сначала измените ссылки «День 1» на правильную ссылку для листа с номером предыдущего дня. Затем измените вхождения +4 на +5: их всего 3. Теперь возьмите измененный раздел и выберите «Нет совпадений для предыдущей даты +1 до +4» фактической формулы на рабочем листе и вставьте исправление вместо него!

Вы можете повторять этот процесс, чтобы получить действительно длительные перерывы за счет действительно длинной и очень уродливой формулы.

Я загрузил пример файла с 10 листами [День №], который вы можете скачать здесь:http://www.mediafire.com/view/k6qx3hahv8zl0o8/AircraftLegsLog001.xlsx

Связанный контент