회계 부서에서는 다양한 통화($, 셰켈, 호주 파운드)로 영수증을 입력합니다. 통화 기호가 금액과 동일한 셀에 포함되어 있는 경우 혼합 통화가 포함된 열을 통화 유형별로 정렬할 수 있습니까? 아니면 통화 기호가 통화 금액과 별도의 열에 있어야 합니까?
답변1
서문: 처음에는 귀하의 질문을 이해하지 못했지만 이에 대해 텍스트 값(통화 기호 + 숫자)을 처리할 수 없다는 것을 깨달았습니다. 따라서 통화로 표시되도록 형식이 지정된 값이 포함된 셀을 처리해야 합니다. 금액이지만 실제로는 숫자만 포함됩니다(단순히 숫자, 통화 기호 없음).
글쎄요, Excel은 현재로서는 셀 서식(색상/아이콘 제외)을 기반으로 한 정렬을 제공하지 않기 때문에 내 마음에 떠오르는 유일한 해결책은 기본적으로 가정한 두 번째 솔루션입니다.보조 열에 각 금액(행)에 대한 상대 통화 기호를 입력해야 합니다. 그렇게 하면 사용자 정의 다단계 정렬을 수행할 수 있습니다.(통화 열의 첫 번째 수준, 금액 열의 두 번째 수준) 데이터를 정리하세요.
지금 내가 할 수 있는 것은 프로세스를 자동화하여 작업 속도를 높이는 방법을 제안하고 모든 금액에 대해 통화 기호를 손으로 쓰는 것과 같은 작업을 원하지 않는다고 가정하는 것입니다(그렇습니까? ;-D).
좋아요, VBA를 사용할 수 있다면 여기로 가겠습니다...
1) 다음 VBA 코드를 모듈에 넣습니다.
Public Function GetCurrency(ByVal r As Range) As String
Application.Volatile
Static RegX As Object
If RegX Is Nothing Then Set RegX = CreateObject("VBScript.RegExp")
With RegX
.Global = True
.Pattern = "[0-9\-\.,\s]"
GetCurrency = .Replace(r.Text, "")
End With
End Function
2) 이제 금액 값이 "A" 열에 있고 통화 기호가 "B" 열에 있다고 가정하고 이 공식을 첫 번째 B 열 행(B1 셀)에 입력합니다.
=GetCurrency(A1)
그런 다음 동일한 열(B)의 필요한 모든 후속 행에 대해 해당 수식을 복사합니다.
이제 두 개의 열이 생겼습니다. 하나는 형식화된 금액 값(A)이고 다른 하나는 상대 통화 기호(B)가 포함되어 있어야 합니다.
이는 내 전제 가정이 충족되어 적절한 통화 형식의 숫자 값이 포함된 "A" 열이 있는 경우에만 작동합니다. 그렇지 않은 경우 이 시점에서 각 열 "A" 행/셀의 형식을 수동으로 지정하더라도 각 열 "B" 행/셀에 직접 통화 기호를 직접 쓰는 것보다 아무런 차이도 없고 이점/이득도 없습니다.
3) 이제 두 개의 열을 선택하고 사용자 정의 다단계 정렬을 수행합니다.
"데이터" 리본으로 이동하여 "정렬 및 필터" 그룹을 찾은 다음 "정렬"을 클릭하세요.
B열 값 정렬(첫 번째 수준)
"레벨 추가"를 클릭하세요.
COLUMN A 값 정렬(두 번째 수준)
그리고... 넌 끝났어!
추신: 이제 원하는 경우 "B" 열을 안전하게 숨길 수도 있습니다.
참조: 추가 정보다중 열 기반 정렬.
중요한 최종 참고사항:
금액 열의 값을 어떤 식으로든 조작/수정할 필요가 없습니다. 이를 위해 보조 열에 통화 기호가 있어야 합니다. 금액 값 열에 통화 기호를 추가할 수는 없습니다. 그렇지 않으면 금액이 텍스트 값으로 표시되므로 숫자 값처럼 올바르게 정렬할 수 없기 때문입니다! (예를 들어 텍스트 값으로 "$80", "$30", "$500"이 있는 경우 어떻게 되는지 생각해 보세요. "$500"은 문자로 다음과 같기 때문에 "$80"과 "$30" 사이에서 정렬됩니다. "8" < "5" < "3"
...희망합니다. 알았어요.)