날짜 행에서 다음 날짜(시작 날짜보다 높음)를 반환하고 해당 날짜의 다음 날짜를 반환하는 수식을 찾고 있습니다.

날짜 행에서 다음 날짜(시작 날짜보다 높음)를 반환하고 해당 날짜의 다음 날짜를 반환하는 수식을 찾고 있습니다.

워크시트 1에는 항공기가 비행하는 모든 "다리"가 나열되어 있습니다. 그런 다음 매일의 다리는 1일차에는 워크시트 2, 2일차에는 워크시트 3 등으로 이동합니다. 다리는 다리 1부터 시작하여 다리 2 등의 순서로 열에 나열됩니다. 각 다리의 상단 셀에는 날짜가 있습니다. 나는 매일의 구간을 담당하고 해당 항공편의 정보를 다른 워크시트(1일차, 2일차...)로 바꾸는 통합 문서를 만들고 있습니다. 내가 겪고 있는 문제는 하루의 비행이 1개 다리에서 5-6개 다리가 될 수 있다는 것입니다. 약 2주간의 기간을 다루는 24개의 열이 있습니다. 하루에 8개 이상의 다리를 비행하지 않기 때문에 각 "일" 워크시트에는 8개의 열만 있습니다. 1일차 워크시트는 쉽지만 2일차에는 문제가 발생합니다. 저는 현재 IF와 AND 함수의 조합을 사용하여 입력해야 할 다음 날짜를 결정하는 수식을 작성하고 있습니다. 하지만 내가 원하는 대로 작동하게 할 수는 없습니다. 나는 희망적으로 이 탁한 물을 깨끗하게 하는 예를 아래에 입력하려고 노력할 것입니다.

마스터 트립 워크시트

레그 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일차 워크시트

LEG 6
8/8
달선

따라서 1일차, 2일차... 워크시트는 다음 새 날짜만 가져오면 됩니다(그리고 다시 말하지만 이는 각 개별 워크시트에 1~8개의 다리가 될 수 있습니다). 모든 다리 정보를 이동하는 방법을 알아냈습니다. 날짜를 올바른 워크시트로 분리할 수 있어야 합니다.

이것이 충분히 명확하지 않은 경우 알려주십시오. 그리고 감사합니다!!

답변1

아마도 이것이 도움이 될 것입니다. [Day 1] 시트에서 셀 A2는 이 간단한 수식을 입력하여 [Sheet1] =Sheet1!A2에서 첫 번째 날짜를 선택합니다. 이 수식을 B2의 [Day 1] 시트에 넣고 다음과 같이 오른쪽을 채웁니다. 당신이 가고 싶은만큼 - 열 H?

=IF(COUNTIF(시트1!2:2,$A2)>COLUMN()-1,$A2,"")

이렇게 하면 'Day 1'!A2의 날짜가 Legs와 일치하는 [Sheet1]에 나타나는 횟수만큼 복제됩니다. 해당 수식의 Column()-1 부분은 B 열에 있는 첫 번째 수식을 기반으로 하며, B 열의 경우 1을 반환하고, C 열의 경우 2를 반환하며 나머지 열에 대해서는 2 등을 반환합니다. 이는 시트의 A2에 날짜를 반영할지 여부를 알려줍니다.

따라서 [Day 1] 시트의 날짜를 처리해야 합니다. 이제 [2일차]입니다. 셀 A2의 공식은 약간 복잡하지만 이전 Day # 시트 +1, +2, +3 또는 +4의 날짜가 [Sheet1]에 있는지 테스트하는 것입니다. 셀 A2에 배치되는 첫 번째 일치 항목입니다. 이제 날짜 대신 "이전 날짜 +1 ~ +4와 일치하지 않음"이라는 텍스트가 표시되면 두 가지 중 하나를 의미합니다. 다리 사이에 4일 이상의 휴식 시간이 걸렸거나 마지막 날짜가 [ Sheet1]이 이전 [Day #] 시트에서 발견되었습니다. 그게 말이 되기를 바랍니다. [2일차] 셀 A2에 대한 수식은 다음과 같습니다.

=IF(ISNA(MATCH(MAX('1일'!A2:H2)+1,Sheet1!2:2,0)),IF(ISNA(MATCH(MAX('1일'!A2:H2)+2 ,Sheet1!2:2,0)),IF(ISNA(MATCH(MAX('1일차'!A2:H2)+3,Sheet1!2:2,0)),IF(ISNA(MATCH(MAX(' 1일'!A2:H2)+4,Sheet1!2:2,0)),"이전 날짜 +1 ~ +4와 일치하지 않음",MAX('1일'!A2:H2)+4),MAX ('1일차'!A2:H2)+3),MAX('1일차'!A2:H2)+2),MAX('1일차'!A2:H2)+1)

[2일차] 시트의 수식인 B2:H2 셀은 [1일차] 시트의 해당 셀에 사용한 것과 정확히 동일합니다.

각 후속 [Day #] 시트에 대해 위의 긴 수식을 가져와 해당 시트의 셀 A2에 연결하고 편집-->바꾸기를 사용하여 'Day 1' 참조를 전날의 시트 이름으로 변경합니다.

4일 이상의 휴가를 원하시나요? 이 연습에서는 텍스트 편집기와 Excel을 사용하여 작업하는 것이 가장 좋습니다. 다음 수식 세그먼트를 사용하세요.

IF(ISNA(MATCH(MAX('1일차'!A2:H2)+4,Sheet1!2:2,0)),"이전 날짜 +1 ~ +4와 일치하는 항목이 없습니다.",MAX('1일차'! A2:H2)+4)

다음과 같이 변경합니다. 먼저 'Day 1' 참조를 전날 # 시트에 대한 적절한 참조로 변경합니다. 두 번째로 +4 발생을 +5로 변경합니다. 모두 3개가 있습니다. 이제 수정된 섹션을 선택하고 워크시트에서 실제 수식의 "이전 날짜 +1 ~ +4에 일치하지 않는 항목"을 선택하고 그 자리에 수정 내용을 붙여넣으세요.

정말 길고 매우 보기 흉한 공식을 희생하면서 이 과정을 반복하면 정말 긴 휴식 시간을 가질 수 있습니다.

10개의 [Day #] 시트가 포함된 샘플 파일을 업로드했으며 여기에서 다운로드할 수 있습니다.http://www.mediafire.com/view/k6qx3hahv8zl0o8/AircraftLegsLog001.xlsx

관련 정보