>

멋진 사람들을 도와주세요!

Google 스프레드 시트의 ARRAYFORMULA 내에서 MAXIFS 수식을 사용하여 시트 1의 A 열에있는 최신 날짜를 얻으려고합니다. 시트 2의 A 열에있는 값이 시트 1의 E 열에 일치합니다. :

=ARRAYFORMULA(IF(ISBLANK(A2:A),"",IF(MAXIFS(Sheet1!$A:$A,Sheet1!$E:$E,A2:A)=0,"",MAXIFS(Sheet1!$A:$A,Sheet1!$E:$E,A2:A))))

시트 2 :

시트 1 :

그런 다음 6 개의 추가 열에서이 작업을 반복하여 이전 열보다 적은 최신 날짜를 요청하는 MAXIFS 수식의 추가 기준을 사용하여 이전 6 날짜를 제공합니다. 다음과 같은 공식 :

=ARRAYFORMULA(IF(ISBLANK(A2:A),"",IF(MAXIFS(Sheet1!A:A,Sheet1!E:E,A2:A,Sheet1!A:A,"<"&B2:B)=0,"",MAXIFS(Sheet1!A:A,Sheet1!E:E,A2:A,Sheet1!A:A,"<"&B2:B))))

모두 첫 번째 행에서 작동하지만 그 이후의 모든 행은 수식이 모든 후속 행에 대한 MAXIFS 문의 기준으로 A2의 값을 사용해야한다는 동일한 결과를 제공합니다.

내가 잘못한 것을 볼 수 없으므로 ARRAYFORMULA의 MAXIFS가 작동하지 않을 수 있다고 생각합니다 ...

도움을주세요


  • 답변 # 1

    B2에 붙여 넣기:

    =ARRAYFORMULA(TO_DATE(IFNA(VLOOKUP(A2:A, 
     SORTN(SORT({Sheet1!E2:E, Sheet1!A2:A}, 2, 0), 999^99, 2, 1, 1), 2, 0))))
    
    

    C2에 붙여 넣기:

    =ARRAYFORMULA(TO_DATE(IFNA(VLOOKUP(A2:A, 
     SORTN(SORT(FILTER({Sheet1!E2:E, Sheet1!A2:A}, 
     NOT(COUNTIF(A2:A&B2:B, Sheet1!E2:E&Sheet1!A2:A))), 2, 0),
     999^99, 2, 1, 1), 2, 0))))
    
    

    D2에 붙여 넣기:

    =ARRAYFORMULA(TO_DATE(IFNA(VLOOKUP(A2:A, 
     SORTN(SORT(FILTER({Sheet1!E2:E, Sheet1!A2:A}, 
     NOT(COUNTIF({A2:A&B2:B; A2:A&C2:C}, Sheet1!E2:E&Sheet1!A2:A))), 2, 0),
     999^99, 2, 1, 1), 2, 0))))
    
    

    E2에 붙여 넣기:

    =ARRAYFORMULA(TO_DATE(IFNA(VLOOKUP(A2:A, 
     SORTN(SORT(FILTER({Sheet1!E2:E, Sheet1!A2:A}, 
     NOT(COUNTIF({A2:A&B2:B; A2:A&C2:C; A2:A&D2:D}, Sheet1!E2:E&Sheet1!A2:A))), 2, 0),
     999^99, 2, 1, 1), 2, 0))))
    
    

    등 ...

관련 자료

  • 이전 android - recyclerview 및 retrofit을 사용하여 가져온 데이터가 표시되지 않음
  • 다음 c# - FluentAssertions를 사용하여 CustomAssertion을 작성하는 방법