>source

나는 해결책을 찾으려고 노력했지만 비슷한 것을 찾을 수 없습니다.

현재 한 시트에서 다른 시트로 특정 값을 가져 오기 위해 쿼리를 사용하고 있지만 특정 열이 값을 변경할 때 구분 기호를 추가하려고합니다. 지금은 다음과 같습니다.

그러나 나는 다음과 같이 보이기를 바랍니다.

내가 이것을 어떻게 성취 할 것인지에 대한 아이디어가 있습니까?

현재 공식 :

=QUERY('FM - Americas'!A:J,"select E,J where (E >= date '2020-10-01') and (E <= date '2020-11-30') Order By J, E",0)

시트 링크 :https://docs.google.com/spreadsheets/d/1ctr_c6cJYAmRrR78aIPkneyjOZAYtfvmyZD-PpXesgA/edit#gid=862432221

감사!


  • 답변 # 1

    글쎄, 이것은 테스트 데이터와 함께 작동하는 것처럼 보이며 실제 데이터가 보여준 것과 매우 유사하다면 도움이 될 것입니다.

    시트의 어느 곳에서나 다음 공식을 시도하십시오. 두 개의 열을 반환합니다.

    ={                                      {query(A1:B,"where B='"& index(sort(unique(B$1:B)),1,1) &"'",0)};
        IF(counta(unique(B1:B))>1,{{"",""}; {query(A1:B,"where B='"& index(sort(unique(B$1:B)),2,1) &"'",0)}},{"Error 2",""});
        IF(counta(unique(B1:B))>2,{{"",""}; {query(A1:B,"where B='"& index(sort(unique(B$1:B)),3,1) &"'",0)}},{"Error 3",""});
        IF(counta(unique(B1:B))>3,{{"",""}; {query(A1:B,"where B='"& index(sort(unique(B$1:B)),4,1) &"'",0)}},{"Error 4",""});
        IF(counta(unique(B1:B))>4,{{"",""}; {query(A1:B,"where B='"& index(sort(unique(B$1:B)),5,1) &"'",0)}},{"Error 5",""});
        IF(counta(unique(B1:B))>5,{{"",""}; {query(A1:B,"where B='"& index(sort(unique(B$1:B)),6,1) &"'",0)}},{"Error 6",""})}
    
    

    이렇게하면 B 열에있는 고유 값의 수를 계산 한 다음 각 고유 값에 대해 쿼리를 수행합니다. 복잡성은 결과를 적절하게 쌓는 데있었습니다. 빈 행이 어떻게 추가되는지 확인하세요. IF 명세서 확인. 이것은 효과가있는 것처럼 보이지만 누군가가 제안 할 수있는 더 나은 또는 더 효율적인 방법이있을 수 있습니다.

    수식을 시작하고 끝나는 {...}로 표시된 전체 배열이 있습니다. 각각에 대한 보조 스토리지가 있습니다. IF 그 안에 두 개의 세 번째 레벨 배열이 있습니다. 하나는 빈 행용이고 다른 하나는 QUERY 진술 결과. 불명확 한 내용이 있으면 알려주세요.

    B 열에 가능한 영역 (또는 값)이 여러 개있을 수있는 경우 수식을 확장해야합니다. 마지막 두 번째 행을 필요한만큼 여러 번 복제하고 그 안의 숫자 값을 조정하고 마지막 행에서, 그래서 그들은 순서대로 따릅니다. 더 나은 오류 검사도 유용 할 수 있습니다.

관련 자료

  • 이전 assembly - ARMv8 프로세서가 AArch32 실행 상태를 지원하는지 확인하는 방법은 무엇입니까?
  • 다음 Flutter의 FirebaseFunctions에서 Firebase 함수로 매개 변수를 보내는 방법