답변:
이 사용자 정의 형식을 시도하십시오.
#0"g" #0"s" 00"c"
실제 양에 관계없이 세 개의 "단위" 12
가 모두 표시되므로 "0g 0s 12c"로 표시됩니다. 0이 아닌 양으로 가장 큰 "단위"만 표시하려면 ( 12
"12c", 598
"5s 98c"등) 실제로 다음과 같이 조정하여 다른 형식을 기반으로 다른 형식을 적용 할 수 있습니다 가치:
[>=10000]#0"g" #0"s" 00"c";[>=100]#0"s" 00"c";#0"c"
완벽하지는 않습니다. 예를 들어 10245
"1g 2s 45c"대신 "1g 02s 45c"로 표시됩니다. 개별 금액을 얻기 위해 100으로 나누지 않고 셀 값을 나누기 때문입니다. 당신이 원하는 것을하십시오.
음수 값을 처리하려면 Excel에서 단일 숫자 형식으로 최대 3 개의 조건 만 가질 수 있으므로 위의 형식을 조건부 서식과 결합해야합니다. 다음을 시도하십시오 (Excel 2010이라고 가정하고 2007 년에도 작동해야하지만 이전 버전에 대해서는 확실하지 않습니다).
=A1>=0
한 다음 "형식 ..."을 클릭하십시오.[>=10000]#0"g" #0"s" 00"c";[>=100]#0"s" 00"c";#0"c"
=A1<0
한 다음 "형식 ..."을 클릭하십시오.[<=-10000]-#0"g" #0"s" 00"c";[<=-100]-#0"s" 00"c";#0"c"
서식 규칙을 수정하거나 제거해야하거나 더 많은 셀에 적용 할 수 있도록 확장하려면 "조건부 서식"→ "규칙 관리"로 이동하십시오.
다른 옵션은 VBA 함수를 사용하여 값을 형식화하는 것입니다. Alt+ F11를 눌러 VBA 편집기를 열고 프로젝트 창에서 마우스 오른쪽 버튼을 클릭하고 삽입 → 모듈을 선택한 후 다음 코드를 붙여 넣습니다 (물론 이러한 기능을 작성하는 여러 방법 중 하나).
Function MyFormat(intValue)
Dim strReturn As String
If intValue < 0 Then strReturn = "-"
intValue = Abs(intValue)
If intValue > 10000 Then
strReturn = strReturn & Fix(intValue / 10000) & "g"
intValue = intValue - (Fix(intValue / 10000)) * 10000
End If
If intValue > 100 Then
If Len(strReturn) > 0 Then strReturn = strReturn & " "
strReturn = strReturn & Fix(intValue / 100) & "s"
intValue = intValue - (Fix(intValue / 100)) * 100
End If
If Len(strReturn) > 0 Then strReturn = strReturn & " "
strReturn = strReturn & intValue & "c"
MyFormat = strReturn
End Function
이 방법은 당신에게 사용자 지정 숫자 형식을 사용하여보다 큰 유연성을 준다, 그리고 조건부 서식 규칙을 관리하는보다 사용하기 쉽게 - 단지 입력 =MyFormat(12345)
대신 12345
. 그러나 단점은 Excel에서 값을 숫자가 아닌 텍스트로 인식하기 때문에 데이터를 사용하여 수학 연산을 수행하는 기능이 손실된다는 것입니다.