|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 엑셀 버전(95,97,2000,xp,2003,2007): 엑셀 2007
* 아래줄에 질문을 작성하세요 >>
안녕하세요
지역별 매출실적 데이터 표에서 상위 1위~3위 및 하위 1위 ~ 3위 실적 순위를 표시하기 위하여 아래 함수를 사용했습니다.
=IF(H4<=SMALL($H$4:$H$15,1),"하위 1위",IF(H4<=SMALL($H$4:$H$15,2),"하위 2위",IF(H4<=SMALL($H$4:$H$15,3),"하위 3위",IF(H4>=LARGE($H$4:$H$15,1),"상위 1위",IF(H4>=LARGE($H$4:$H$15,2),"상위 2위",IF(H4>=LARGE($H$4:$H$15,3),"상위 3위",""))))))
위 함수는 너무 길고 복잡한 것 같은데, 좀 더 짥고 간단하게 순위 표시할 수 있는 함수는 어떻게 하여야 하는지요.
첨부파일을 살펴봐 주시고 함수식을 알려 주세요
감사합니다.
==============[박인호님 글에 대한 답변입니다]==============
VBA로 하는 방법
Sub userRank()
Dim rData As Range, rX As Range
Dim iX As Integer
Set rData = ActiveSheet.Range("H4:H15")
For Each rX In rData
For iX = 1 To 3
If WorksheetFunction.Small(rData, iX) = rX Then rX.Offset(, 1) = "하위 " & iX & "위"
If WorksheetFunction.Large(rData, iX) = rX Then rX.Offset(, 1) = "상위 " & iX & "위"
Next
Next
End Sub
|
|