Wednesday, January 11, 2017

Format numbers in a spreadsheet


Format numbers in a spreadsheet
Custom number formatting


숫자를 한자로 표시하는 방법으로 엑셀에서는 간단히 사용자정의 표시형식에 [DBNum2][$-412]를 사용했는데, Google Spreadsheet엔 없는것 같다.(찾질 못했나?)

암튼,
MOD함수, QUOTIENT함수로 자릿수에 맞게 숫자를 뽑아내고, CHOOSE함수로 해당하는 한자(서수)와 매칭시킨 후, CONCATENATE함수로 정리하는 수순. (조악하지만 어지러운 IF문은 없다)

주의! 仟兆(10의 15승, PETA)단위에서는 에러!

숫자를 한자(서수)로 By https://www.jinsoopark.blogspot.com/
숫자를 한자(서수)로
=IF(ABS(A1)>=POWER(10,15),"Error! Greater than or equal to peta(P)",
CONCATENATE(
IF(A1<0,"(陰) ","")

,CHOOSE(ADD(1,QUOTIENT(MOD(QUOTIENT(MOD(ABS(A1),POWER(10,16)),POWER(10,12)),POWER(10,3)),POWER(10,2))), "","壹百","貳百","參百","四百","伍百","六百","七百","八百","九百")
,CHOOSE(ADD(1,QUOTIENT(MOD(MOD(QUOTIENT(MOD(ABS(A1),POWER(10,16)),POWER(10,12)),POWER(10,3)),POWER(10,2)),POWER(10,1))), "","壹拾","貳拾","參拾","四拾","伍拾","六拾","七拾","八拾","九拾")
,CHOOSE(ADD(1,QUOTIENT(MOD(MOD(MOD(QUOTIENT(MOD(ABS(A1),POWER(10,16)),POWER(10,12)),POWER(10,3)),POWER(10,2)),POWER(10,1)),POWER(10,0))), "","壹","貳","參","四","伍","六","七","八","九")
,IF(QUOTIENT(MOD(ABS(A1),POWER(10,16)),POWER(10,12))>0,"兆","")

,CHOOSE(ADD(1,QUOTIENT(QUOTIENT(MOD(ABS(A1),POWER(10,12)),POWER(10,8)),POWER(10,3))), "","壹阡","貳阡","參阡","四阡","伍阡","六阡","七阡","八阡","九阡")
,CHOOSE(ADD(1,QUOTIENT(MOD(QUOTIENT(MOD(ABS(A1),POWER(10,12)),POWER(10,8)),POWER(10,3)),POWER(10,2))), "","壹百","貳百","參百","四百","伍百","六百","七百","八百","九百")
,CHOOSE(ADD(1,QUOTIENT(MOD(MOD(QUOTIENT(MOD(ABS(A1),POWER(10,12)),POWER(10,8)),POWER(10,3)),POWER(10,2)),POWER(10,1))), "","壹拾","貳拾","參拾","四拾","伍拾","六拾","七拾","八拾","九拾")
,CHOOSE(ADD(1,QUOTIENT(MOD(MOD(MOD(QUOTIENT(MOD(ABS(A1),POWER(10,12)),POWER(10,8)),POWER(10,3)),POWER(10,2)),POWER(10,1)),POWER(10,0))), "","壹","貳","參","四","伍","六","七","八","九")
,IF(QUOTIENT(MOD(ABS(A1),POWER(10,12)),POWER(10,8))>0,"億","")

,CHOOSE(ADD(1,QUOTIENT(QUOTIENT(MOD(ABS(A1),POWER(10,8)),POWER(10,4)),POWER(10,3))), "","壹阡","貳阡","參阡","四阡","伍阡","六阡","七阡","八阡","九阡")
,CHOOSE(ADD(1,QUOTIENT(MOD(QUOTIENT(MOD(ABS(A1),POWER(10,8)),POWER(10,4)),POWER(10,3)),POWER(10,2))), "","壹百","貳百","參百","四百","伍百","六百","七百","八百","九百")
,CHOOSE(ADD(1,QUOTIENT(MOD(MOD(QUOTIENT(MOD(ABS(A1),POWER(10,8)),POWER(10,4)),POWER(10,3)),POWER(10,2)),POWER(10,1))), "","壹拾","貳拾","參拾","四拾","伍拾","六拾","七拾","八拾","九拾")
,CHOOSE(ADD(1,QUOTIENT(MOD(MOD(MOD(QUOTIENT(MOD(ABS(A1),POWER(10,8)),POWER(10,4)),POWER(10,3)),POWER(10,2)),POWER(10,1)),POWER(10,0))), "","壹","貳","參","四","伍","六","七","八","九")
,IF(QUOTIENT(MOD(ABS(A1),POWER(10,8)),POWER(10,4))>0,"萬","")

,CHOOSE(ADD(1,QUOTIENT(MOD(ABS(A1),POWER(10,4)),POWER(10,3))), "","壹阡","貳阡","參阡","四阡","伍阡","六阡","七阡","八阡","九阡")
,CHOOSE(ADD(1,QUOTIENT(MOD(MOD(ABS(A1),POWER(10,4)),POWER(10,3)),POWER(10,2))), "","壹百","貳百","參百","四百","伍百","六百","七百","八百","九百")
,CHOOSE(ADD(1,QUOTIENT(MOD(MOD(MOD(ABS(A1),POWER(10,4)),POWER(10,3)),POWER(10,2)),POWER(10,1))), "","壹拾","貳拾","參拾","四拾","伍拾","六拾","七拾","八拾","九拾")
,CHOOSE(ADD(1,QUOTIENT(MOD(MOD(MOD(MOD(ABS(A1),POWER(10,4)),POWER(10,3)),POWER(10,2)),POWER(10,1)),POWER(10,0))), "","壹","貳","參","四","伍","六","七","八","九")
)
)