>source

옆에 날짜가 있고 행 뒤에 텍스트 필드가있는 긴 행 목록이 있습니다

01/01/2019 | ABC | ...

목록은 날짜순으로 정렬되며 날짜 당 1 ~ 4 행이 될 수 있습니다

01/01/2019 | ABC | ...
01/01/2019 | DEF | ...
05/01/2019 | ABC | ...
05/01/2019 | DEF | ...
05/01/2019 | ABC | ...
05/01/2019 | GHI | ...
10/01/2019 | ABC | ...
10/01/2019 | XYZ | ...

날짜별로 그룹화하는 QUERY ()와 해당 날짜와 일치하는 행 수 COUNT ()를 행복하게 실행할 수 있습니다

01/01/2019 | 2
05/01/2019 | 4 
10/01/2019 | 2

항목별로 날짜를 그룹화 한 다음 N 번째 행만 반환하는 허용 가능한 Google 스프레드 시트 형식으로 일련의 함수를 사용하려고합니다. EVEN/ODD 행에 만족합니다.

중요하게, 실제 스프레드 시트 ROW ()를 기반으로하는 EVEN/ODD를 원하지 않지만 집계 그룹에서 일치하는 행 수를 기반으로하는 EVEN/ODD/Nth가 필요하다면 말입니다.

이 출력을 원합니다 :

EVENS

01/01/2019 | DEF | (row 2 in group)
05/01/2019 | DEF | (row 2 in group) 
05/01/2019 | GHI | (row 4 in group) 
10/01/2019 | XYZ | (row 2 in group)

ODDS

01/01/2019 | ABC | (row 1 in group)
05/01/2019 | ABC | (row 1 in group) 
05/01/2019 | ABC | (row 3 in group) 
10/01/2019 | ABC | (row 1 in group)

궁극적으로, 나의 목표는 특정 날에 FIRST 또는 SECOND 또는 THIRD 또는 FOURTH 이벤트로 발생하는 모든 텍스트 필드 (ABC/DEF/GHI/etc)를 계산 한 다음 내림차순으로 정렬하는 것입니다. ABC가 해당 그룹의 EVEN 행인 경우 또는 XYZ가 해당 그룹 내의 ODD 행인 경우 (예 : 그룹의 행 2, 전체 스프레드 시트에서 사실을 무시하고 35 행에 있음)

ABC | 156
DEF | 30 
GHI | 10
JKL | 8
MNO | 7
XYZ | 1

  • 답변 # 1

    다음과 같은 도우미 열을 추가 할 수 있습니다 :

    =ARRAYFORMULA(IF(LEN(A1:A), COUNTIFS(B1:B, B1:B, ROW(B1:B), "<="&ROW(B1:B)), ))
    
    

    다음과 같이 짝수와 홀수를 필터링합니다 :

    =FILTER(A1:B, ISEVEN(C1:C))
    
    
    <시간>
    =FILTER(A1:B, ISODD(C1:C))
    
    

  • 답변 # 2

    원하는 경우 하나의 공식으로 수행 할 수 있습니다

    =filter(A2:B,ISEVEN(row(A2:A)-match(A2:A,A2:A,0)))
    
    

    =filter(A2:B,isodd(row(A2:A)-match(A2:A,A2:A,0)+1))
    
    

    데이터가 행 2에서 시작한다고 가정합니다.

    데이터가 다른 행에서 시작된 경우 해당 행을 조회 할 수 있습니다.

    =filter(A2:B,ISODD(row(A2:A)-vlookup(A2:A,{A2:A,row(A2:A)},2,false)))
    
    

    그리고

    =filter(A2:B,ISEVEN(row(A2:A)-vlookup(A2:A,{A2:A,row(A2:A)},2,false)))
    
    

관련 자료

  • 이전 c# - SQL Server의 ODBC 연결 문자열에서 토큰 순서가 중요합니까?
  • 다음 xilinx - Vivado Project 파일에서 git에 체크인 할 파일은 무엇입니까?