>source

3 개의 유사한 워크 시트를 말한 통합 문서가 있습니다. 각기 다른 공급 업체에서 나는 그것들을 비교하여 누가 더 저렴하고 누가 각 품목마다 가장 저렴한지를 알아 내고 싶습니다. 예를 들면 다음과 같습니다.

워크 시트 1 (D) (David의 약자)

   A            B             C             D
    1            quality 1     quality 2     quality 3    .....
    2 Apple      20            30            40
    3 Orange     25            33            46

워크 시트 2 (O) (Oliver의 약자)

   A            B             C             D
    1            quality 1     quality 2     quality 3    .....
    2 Apple      18            30            35
    3 Orange     25            35            46

워크 시트 3 (H) (해리의 약자)

   A            B             C             D
    1            quality 1     quality 2     quality 3    .....
    2 Apple      22            33            44
    3 Orange     20            36            39

출력이 다음과 같을 것으로 기대합니다 :

워크 시트 4 (가장 저렴하게 분류)

   A            B             C             D
    1            quality 1     quality 2     quality 3    .....
    2 Apple      O;D;H         D=O;H         O;D;H
    3 Orange     H;D=O         D;O;H         H;D=O

시간과 배려에 미리 감사드립니다.


  • 답변 # 1

    이 점에서 어려운 점은 Excel 범위가 실제로 워크 시트를 교차 할 수 없으며 실제로 3D가 아니라는 것입니다. VBA에서는 아마도 다음과 같이 끝날 것입니다 :

    3 개 이상의 시트를 비교할 시트 이름 배열

    시트 배열을 통해 주어진 2D 주소의 값을 배열로 가져 오는 루프

    배열 정렬 (물론, 배열을 어딘가에 임시 범위로 덤프하고 시트 이름 목록과 함께 정렬해야 함)

    정렬 된 배열의 온도 범위를 내려 가서 순서대로 시트의 이름을 지정하고 다음 값에 따라 등호 또는 세미콜론을 넣는 루프

    모두 출력 시트에 유형의 문자열을 구성합니다.

    ... Excel 함수로 모든 작업을 수행 한 다음 sheet1-3의 이름이 함수에 하드 코딩되어 있으므로 Sheet4의 모든 셀에 함수를 복사하십시오.

    임의의 시트 목록에 대해이 작업을 수행하려면 더 까다 롭습니다.

    그러나 그에 들어가기 전에이 3D 데이터 처리를 많이해야합니까? Excel에는 피벗 테이블이라는 다차원 데이터를위한 강력한 도구가 있으며 데이터는 피벗 테이블에 넣는 데 매우 적합하므로 데이터를 "피벗"하여 "공급 업체"가 열이되도록 할 수 있습니다. 시트 대신 행 또는 행.

    피벗 테이블에는 학습 곡선이 있지만 이러한 종류의 문제를 해결하는 방법입니다.

관련 자료

  • 이전 Lisp의 선형 검색, 배열 오류
  • 다음 docker - "정중하게 멈추다"는 무슨 뜻입니까