>source

한 장에 데이터 목록이 있습니다. 두 번째 시트는 대시 보드처럼 누가 무엇을했는지 표시하는 데 사용됩니다. 직원의 이름을 조회하는 데이터를 생성하고 완료된 과정의 목록에있는 경우이를 표시하는 배열 수식을 받았습니다. 그렇다면 대시 보드의 해당 과정 번호 아래에 "예"가 표시됩니다. "예"대신 데이터 목록에서 날짜 열을 표시하기 위해 REGEXREPLACE를 변경하는 데 필요한 사항을 파악할 수 없습니다. REGEXREPLACE는 텍스트 값에 대해서만 작동하고 날짜는 그렇지 않다는 것을 알고 있습니다. 날짜 열을 텍스트로 변경하는 것조차 중요하지 않은 것 같습니다.

다음은 현재 배열 수식의 작동 예입니다.

https://docs.google.com/spreadsheets/d/1jkG515zyl4UxRHxhtFTjgWsjG0aBE4vsOxbpvqgjogU/edit#gid=536376041

사용 된 공식은 다음과 같습니다.

=ARRAYFORMULA(IF(A5:A="",,REGEXREPLACE(IFNA(VLOOKUP(A5:A, QUERY({TRIM('Form Responses 1'!B2:G)}, "select Col1,count(Col1) group by Col1 pivot Col6"), MATCH(F2:P2, QUERY(QUERY({TRIM('Form Responses 1'!B2:G)}, "select Col1,count(Col1) group by Col1 pivot Col6"), "limit 0", 1), 0), 0))&"", "\d+", "yes")))

위의 예에서는 양식 응답 시트의 D 열에서 완료된 날짜가 필요합니다.


  • 답변 # 1

    여기에 도움이 될 수있는 첫 번째 시도가 있습니다.

    이것은 날짜를 가져 와서 왼쪽에 직원 이름을, 맨 위에 코스 이름을 갖도록 피벗하는 간단한 쿼리입니다.

    그러나 데이터를 기존 직원 목록과 일치 시키려하지 않고 양식을 제출 한 모든 직원을 나열합니다. 따라서 양식을 제출하지 않은 직원을 위해 빈 행이있는 모든 직원을 보려면이 방법이 작동하지 않습니다.

    A2의 공식은 다음과 같습니다.

    =ARRAYFORMULA(QUERY({'Form Responses 1'!B2:G}, "select Col1,max(Col3) where Col1<>'' group by Col1 pivot Col6 order by Col1"))
    
    

    샘플 시트에 추가 된 Sheet1-GK 탭을 참조하십시오.

    이것이 도움이되거나 다른 것이 필요한지 알려주십시오.

    최신 정보: 결과를 특정 코스 목록으로 제한하려면 다음 수정을 사용하십시오.

    =ARRAYFORMULA(QUERY({'Form Responses 1'!B2:G}, 
       "select Col1,max(Col3) where Col1<>'' 
                                and Col6 matches '" & TEXTJOIN("|",1,F2:2) & "' 
        group by Col1 pivot Col6 order by Col1 "))
    
    

    여기에서보고 할 코스 목록은 원래 있던 F2 : 2에 있지만이 목록은 다른 탭에서도 어디에나 보관할 수 있습니다. 배치하는 범위의 이름을 지정하면이 수식을 약간 단순화 할 수 있습니다. 지금은 행 2를 숨길 수 있습니다. 왼쪽에 그룹화하여 숨겼습니다. 다시 표시하려면 [+]를 사용하십시오.

관련 자료

  • 이전 python - 여러 열의 지정된 조건에 따라 데이터 프레임에서 행을 어떻게 선택할 수 있습니까?
  • 다음 assembly - 값 목록 + 최대/최소를 인쇄하는 방법