Microsoft Excel - 여러 기준에 따라 다른 시트의 전체 행 복사

Microsoft Excel - 여러 기준에 따라 다른 시트의 전체 행 복사

좋아, 나는 한동안 이 답을 찾으려고 노력해 왔지만 수식 입력줄이 수용할 수 있는 것보다 더 많은 것이 필요하고 MACRO에 대한 경험이 없기 때문에 특별히 수식을 사용하여 답을 얻을 수는 없습니다.

규칙:

규칙 1. Fox/Golf/Hotel!A4는 항상 1일이 되고 A34는 항상 31일이 됩니다(A33=30일, A32=29일(해당되는 경우), A31=28일)

규칙 1a. Fox!A36:A37 및 Fox!A39:A40은 Date가 될 수 없습니다.

규칙 1a.1. Fox!A36은 "Super-1-16"이고 Fox!A37은 "Super-17-31"입니다.

규칙 1a.2. Fox!A39는 "Primary"가 되고 Fox!A40은 "Supernumerary"가 됩니다.

규칙 1b. 골프/호텔!A36:A37은 데이트가 될 수 없습니다.

규칙 1b.1. Golf/Hotel!A36은 "Super-1-16"이고 Golf/Hotel!A37은 "Super-17-31"입니다.

규칙 2. Alpha/Bravo/Charlie/Delta의 해당 날짜! 모든 셀 B3:B400일 수 있습니다.

규칙 3. "Position"은 "Alpha/Bravo/Charlie/Delta!A3:A400"의 변형이지만 "Fox/Golf/Hotel!"의 경우 항상 상수입니다. 셀(상수는 아래 참조)

규칙 3a. 여우! "위치" 지정:

  1. B2="OOD"이고 C4:G34를 포함해야 합니다.
  2. I2="AOOD"이고 J4:M34를 포함해야 합니다.
  3. O2="DD"이고 P4:S34를 포함해야 합니다.
  4. A35="OOD SUPERNUMERARY"이며 C36:G37을 포함해야 합니다.
  5. A38="CDO"이며 C39:G40을 포함해야 합니다.
  6. I35="ADNCO SUPERNUMERARY"이며 J36:J37을 포함해야 합니다.
  7. O35="DD SUPERNUMERARY"이며 P36:S37을 포함해야 합니다.

규칙 3b. 골프/호텔! "위치" 명칭:

  1. B2="DNCO"이며 C4:F34를 포함해야 합니다.
  2. H2="ADNCO"이며 I4:L34를 포함해야 합니다.
  3. N2="Rover 1"이고 O4:R34를 덮어야 합니다.
  4. T2="Rover 2"이며 U4:X34를 덮어야 합니다.
  5. A35="DNCO SUPERNUMERARY"이며 C36:F37을 포함해야 합니다.
  6. H35="ADNCO SUPERNUMRARY"이며 C39:L40을 포함해야 합니다.
  7. N35="ROVER 1 SUPERNUMRARY"이며 J36:R37을 포함해야 합니다.
  8. T35="ROVER 2 SUPERNUMRARY"이며 P36:X37을 포함해야 합니다.

규칙 4. 다음 셀은 복사할 시트 정보를 지정해야 합니다.

규칙 4a. Fox!(B는 C:G를 지시합니다. 나는 J:M을 지시합니다. O는 P:S를 지시합니다)

규칙 4a.1. B4:B34(Fox!B4="A", Fox!B2=Alpha!A136, Alpha!B136="5월 1일"이면 Fox!C4:G4 = Alpha!C136:G136).

규칙 4a.2. I4:I34(Fox!I7="D", Fox!I2=Delta!A98, Delta!B98="5월 4일"이면 Fox!J4:M4 = Delta!C98:F98).

규칙 4a.3. O4:O34.

규칙 4a.4. B36:B37(Fox!B36="C", Fox!A35=Charlie!A250, Charlie!B250="5월 1-16일"이면 Fox!C36:G36 = Charlie!C250:G250).

규칙 4a.5. B39:B40(Fox!B40="B", Fox!A38=Bravo!A123, Bravo!B123="Supernumerary"이면 Fox!C40:G40 = Bravo!C123:G250).

규칙 4a.6. I36:I37.

규칙 4a.7. O36:O37.

규칙 4b. 골프/호텔!(B는 C:F, H는 I:L, N은 O:R, T는 U:X)

규칙 4b.1. B4:B34.

규칙 4b.2. H4:H34.

규칙 4b.3. N4:N34.

규칙 4b.4. T4:T34.

규칙 4b.5. B36:B37.

규칙 4b.6. H39:H40.

규칙 4b.7. N36:N37.

규칙 4b.8. T36:T37.

"Alpha/Bravo/Charlie/Delta!B3:G400"의 셀을 "Fox/Golf/Hotel!"의 해당 셀로 복사해야 합니다. 폭스/골프/호텔을 기반으로! 날짜(Fox/Golf/Hotel!A4:A40) 및 규칙 3에 설정된 "Position" 필드.

요청을 덜 혼란스럽게 만들기 위해 편집하십시오.

이것은 제가 담당하고 있는 월별 명단이며 관련된 모든 사람이 더 쉽게 만들 수 있도록 노력하고 있습니다.

시트 폭스!, 골프!, 호텔! 우리가 가지고 있는 특정 건물과 Sheets Alpha!, Bravo!, Charlie 및 Delta!에 해당합니다. 우리 섹션에 해당합니다.

폭스/골프/호텔! Alpha/Bravo/Charlie/Delta!에서 정보를 가져와서 채워집니다. 매달 복사하여 붙여넣을 필요가 없도록 이 작업을 자동화하고 싶습니다.

수식을 만들려고 했지만 중첩이 너무 많아서 IFAND가 맞지 않았습니다.

위에 정보가 많다는 점은 이해하지만, 제가 할 수 있는 한 최선을 다해 요약해 보겠습니다.

시트 Fox!의 경우

1단계. 셀 B4:B34를 사용하여 정보를 가져올 시트를 결정해야 합니다(B4=A인 경우 Alpha 시트에서 가져오기!. B4=B인 경우 시트에서 가져오기 브라보!. B4=C인 경우 Charlie! 시트에서 가져오기). B4=D인 경우 Delta! 시트에서 가져옵니다.)

2단계. 시트가 결정되면 셀 B2를 사용하여 Alpha/Bravo/Charlie/Delta!A3:A400에서 일치하는 항목을 찾아야 합니다.

3단계. 일치 항목을 찾으면 셀 A4:A34를 사용하여 Alpha/Bravo/Charlie/Delta!B3:B400에서 일치 항목을 찾아야 합니다.

4단계. 동일한 행에서 두 일치 항목이 모두 발견되면 Alpha/Bravo/Charlie/Delta!C3:G400 셀을 복사해야 합니다.

폭스의 예! 구체적으로:

예 1. Fox!B4="A"이고 Fox!B2=Alpha!A136이고 Alpha!B136="5월 1일"이면 Fox!C4:G4 = Alpha!C136:G136입니다.

예 2. Fox!B4="B"이고 Fox!B2=Bravo!A136이고 Bravo!B136="5월 1일"이면 Fox!C4:G4 = Bravo!C136:G136입니다.

예 3. Fox!B4="C"이고 Fox!B2=Charlie!A136이고 Charlie!B136="5월 1일"이면 Fox!C4:G4 = Charlie!C136:G136입니다.

예 4. Fox!B4="D"이고 Fox!B2=Delta!A136이고 Delta!B136="5월 1일"이면 Fox!C4:G4 = Delta!C136:G136입니다.

골프/호텔의 예! 구체적으로:

예 1. Golf!B4="A"이고 Golf!B2=Alpha!A136이고 Alpha!B136="5월 1일"이면 Golf!C4:F4 = Alpha!C136:F136입니다.

예 2. Hotel!B4="B"이고 Hotel!B2=Bravo!A136이고 Bravo!B136="5월 1일"이면 Golf!C4:F4 = Bravo!C136:F136입니다.

예 3. Golf!B4="C"이고 Golf!B2=Charlie!A136이고 Charlie!B136="5월 1일"이면 Golf!C4:F4 = Charlie!C136:F136입니다.

예 4. Hotel!B4="D"이고 Hotel!B2=Delta!A136이고 Delta!B136="5월 1일"이면 Hotel!C4:F4 = Delta!C136:F136입니다.

각 개별 예제에 대해 수행하기 쉽지만 각 페이지의 모든 셀에서 활성화하려면 4개의 예제가 모두 필요합니다.

답변1

공격적이지는 않지만 최악의 질문입니다! 게다가 포맷까지!

TL;DR, 내 생각에 당신에게 필요한 것은 다음과 같습니다

이것을 C4에 넣으면 A에서 D까지 시트 이름으로 변환됩니다.

=CHOOSE(CODE(B4)-CODE("A")+1,"Alpha!","Bravo!","Charlie!","Delta!")

이제 D4에서는 B2 일치가 발생하는 선택한 시트의 인덱스 또는 행 번호를 계산합니다.

=MATCH($B$2$, INDIRECT(C4 & "A3:A400"),0)

이제 E4에서는 A4가 다른 시트의 B 열:인덱스 D4와 일치하는 경우 조건에 따라 다른 시트의 값에 연결합니다.

=IF(A4 = INDEX(INDIRECT(C4 & "B3:B400"),D4), *link to cells in C to G cells*, *return blanks*)

따라서 마지막으로 이것은 배열 수식으로 E4:I4에 적용됩니다(E4에서 I4까지 선택하고 F2를 누른 다음 아래 수식을 붙여넣고 CTRL+SHIFT+ENTER를 누르십시오. Enter만 입력하면 작동하지 않습니다). 이제 단일 배열 수식이 E4:I4의 여러 셀을 차지합니다. (Office 365에서는 E4에만 수식을 입력할 수 있으며 I4로 넘어갑니다.)

=IF(A4 = INDEX(INDIRECT(C4 & "B3:B400"),D4), INDEX(INDIRECT(C4 & "C3:C400"),D4):INDEX(INDIRECT(C4 & "G3:G400"),D4), "")

관련 정보