![개수 백분율을 기준으로 Excel 피벗 테이블 정렬](https://rvso.com/image/1490198/%EA%B0%9C%EC%88%98%20%EB%B0%B1%EB%B6%84%EC%9C%A8%EC%9D%84%20%EA%B8%B0%EC%A4%80%EC%9C%BC%EB%A1%9C%20Excel%20%ED%94%BC%EB%B2%97%20%ED%85%8C%EC%9D%B4%EB%B8%94%20%EC%A0%95%EB%A0%AC.png)
다음 형식의 작업표 승인을 보여주는 소스 데이터가 있습니다(약 850명의 직원과 200명의 관리자에 대해).
Employee Name Manager Name TS Approved?
Employee 1 Manager 1 No
Employee 2 Manager 2 Yes
Employee 3 Manager 3 Yes
Employee 4 Manager 1 No
Employee 5 Manager 3 No
다음과 같이 피벗 테이블을 만들었습니다(승인되지 않은 %는 피벗 테이블 옆에 있는 공식일 뿐입니다).
Count TS Approved?
Manager Name No Yes Total % Unapproved
Manager 1 11 11 100%
Manager 2 6 10 16 38%
Manager 3 7 18 25 28%
Manager 4 5 8 13 38%
Manager 5 5 4 9 56%
Manager 6 3 3 0%
Manager 7 5 5 100%
개수별로 최악의 승인자 상위 5명을 얻기 위해 정렬해야 하지만 5명만 있습니다. 내 문제는 다음과 같습니다.
- '아니요' 열에서 피벗 테이블 '상위 10'을 사용하면 3개의 5를 구분하지 않으므로 6개의 값이 표시됩니다.
- 나는 백분율을 추가하여 %를 기준으로 가장 큰 것부터 가장 작은 것까지 정렬한 다음 개수를 기준으로 가장 큰 것부터 가장 작은 것까지 정렬한 다음 수동으로 상위 5개를 가져옵니다. 승인되지 않은 5/5(100%)가 5/8(38%)보다 나쁘기 때문입니다. 하지만 %로 정렬하는 방법을 모르겠습니다.
- 위와 같이 피벗 테이블 없이 수식으로 추가하면 Excel에서는 해당 데이터를 기반으로 피벗 테이블을 정렬할 수 없습니다. '피벗 테이블 보고서의 일부를 이동할 수 없습니다....'
- 테이블에 "상위 행 합계의 %"로 표시할 데이터를 추가해도 여전히 개수에 따라 정렬됩니다.
내가 원하는 것을 어떻게 할 수 있는지 생각할 수 있는 사람이 있나요?
Count TS Approved?
Manager Name No Yes Total % Unapproved
Manager 1 11 11 100%
Manager 3 7 18 25 28%
Manager 2 6 10 16 38%
Manager 7 5 5 100%
Manager 5 5 4 9 56%
Manager 4 5 8 13 38%
Manager 6 3 3 0%
참고: 피벗 테이블보다는 countif를 사용하여 쉽게 수행할 수 있지만 가능하다면 피벗 테이블 형식을 사용하는 것이 이상적입니다.
감사합니다!
루이스
답변1
흥미로운 도전입니다. 일부 문제는 다음과 같습니다.
- 필드 계산에는 필요한 것을 얻을 수 있는 유연성이 충분하지 않습니다.
- 숫자를 총계의 %로 표시할 수 있고 이를 기준으로 정렬할 수 있는 것처럼 보이지만 실제로는 기본 숫자를 기준으로 정렬됩니다.
테이블과 피벗 테이블을 활용하는 솔루션이 있습니다. 더 간단한 솔루션이 있을 수 있습니다. 단계는 다음과 같습니다(Excel 2016에서 수행됨).
- 원시 데이터 내부를 선택하세요. "삽입" 리본을 선택하고 "테이블"을 클릭하세요.
- 새 테이블에 %NotApproved에 대한 계산을 삽입하세요.
- "표 도구" "디자인" 리본을 선택하고 "피벗 테이블로 요약"을 클릭하세요.
- 관리자 이름을 행으로, %NotApproved를 값으로 사용하여 간단한 피벗 테이블을 구성합니다.
- %NotApproved를 기준으로 관리자 이름을 내림차순으로 정렬합니다.
여기에 예가 있습니다. 다음은 귀하의 질문에 설명된 것과 유사한 30행의 "원시 데이터" 조각입니다.
"삽입" 리본을 선택하고 "테이블"을 클릭합니다...
더 나은 형식의 데이터를 얻을 수 있습니다. 마지막 열 제목 옆에 있는 D1을 선택하고 "%No"를 입력합니다. 그러면 테이블에 새 제목이 있는 새 열이 생성됩니다. 셀 D2에 다음 수식을 입력합니다.
=IF([@[TS Approved?]]="No",1,0)/COUNTIF([Manager Name],"="&[@[Manager Name]])*100
Enter 키를 누르면 자동으로 테이블에 채워집니다. 이 공식은 다음을 수행합니다.
IF([@[TS Approved?]]="No",1,0)
승인된 작업표가 "아니요"인 경우 값 1을 얻습니다.COUNTIF([Manager Name],"="&[@[Manager Name]])
이 행의 관리자가 테이블에 나타나는 횟수를 결정합니다.- 1의 결과를 2의 결과로 나눈 값 100
지금 테이블은 이렇습니다..
"표 도구" "디자인" 리본을 선택하고 피벗 테이블로 요약을 클릭합니다. 피벗테이블을 이렇게 만들어 보세요...
...그리고 정렬합니다...
...이것을 얻으려면 ...
설정하는 데 많은 단계가 필요한 것처럼 보이지만 테이블을 유지 관리하는 것은 매우 쉽습니다. 이렇게 하면 피벗 테이블이 자동으로 유지됩니다.
답변2
오래된 내용일 수도 있지만 이 문제에 대한 해결책을 찾은 것 같습니다.
- 첫 번째 단계는 단순히 기존의 마우스 오른쪽 버튼 클릭으로 승인되지 않은 %를 표시한 다음 "다음으로 값 표시", "전체 행의 %"를 표시하는 것입니다.
- 그런 다음 '행 라벨' 근처의 드롭다운 버튼을 클릭하세요.
- "TS 승인 개수"로 "내림차순"을 선택합니다.
- "추가 정렬 옵션"을 선택한 다음 대화 상자에서 "추가 옵션"을 클릭하십시오.
- "보고서가 업데이트될 때마다 자동으로 정렬" 확인란을 선택 취소합니다(이것이 핵심 단계입니다)
- "아니요" 열의 첫 번째 셀로 "선택한 열의 값"을 선택합니다.
- 확인을 클릭하세요
- 자동으로 다시 업데이트하려면 2, 4, 5단계를 반복하되 이번에는 "보고서가 업데이트될 때마다 자동으로 정렬"을 선택하세요.
답변3
왜인지는 모르겠지만 오늘 아침 식사를 하면서 두 가지를 깨달았습니다...
- 테이블을 사용하는 것은 좋지만 아마도 문제가 더 복잡해질 수 있습니다.
- 관리자가 담당하는 작업표의 %로 승인되지 않은 %를 계산하지만 승인되지 않은 모든 작업표의 %로 계산할 수도 있습니다.
그래서 대체 답변을 게시하겠다고 생각했습니다.
원시 데이터 옆에 헤더 %No
와 이 계산을 아래에 입력하고 작성하세요.
=IF(C2="No",1,0)/COUNTIF($C$2:$C$31,"="&C2)*100
이 수식은 이 작업표가 승인되지 않은 경우 승인되지 않은 모든 작업표의 비율을 계산합니다.
이제 원시 데이터는 다음과 같습니다.
피벗 테이블을 만들고 %No로 정렬하세요.
여전히 %미승인을 관리자가 담당하는 작업표의 %로 지정하려면 D열에서 이 등식을 사용하세요.
=IF(C2="No",1,0)/COUNTIF($B$2:$B$31,"="&B2)*100