Excel how to custom Number format 숫자 서식 사용자 지정 커스텀하기 / -0 을 0으로 바꾸기 음수
node.js + typescript + exceljs 로 엑셀 파일 생성을 하던 중,
db에서 받은 데이터는 1000, 0, -500 이렇게 실수인 경우 모두 - 를 붙여서 출력해야 했다.
numFmt : '#,##0' 은 123,400 이렇게 나오고
numFmt : '-#,##0' 은 -123,500 이렇게 나온다. 그래서 처음에는 '-#,##0'으로 사용했다.
그런데 내가 받은 데이터가 1000, 0, -500 이라면 '-#,##0'이 적용되어 나오는 형식이 아래 박스의 결과였다.
The data I got from db was [100, 0, -500] and I had to show them in Excel file as negative. so first I tried exceljs numFmt '-#,##0' and the result was like the box below.
-1,000
-0
--500
이렇게 정말 말그대로 "-" 마이너스 표시만 데이터 앞에 붙여졌다.
Literally it just added "-" to the data value. so I customized the number format.
-1을 곱해서 표시를 해야할까 했는데 Excel 숫자 형식에서 이런 "연산"의 형태는 찾지 못했다. (못 찾은 걸수도..)
그래서 찾아본 숫자 형식 사용자 지정하는 방법 !
공식 how to cutomize format of number
양수 (Positive) | 음수 (negative) | 0 | text 텍스트 |
#,##0; | [Red]-#,##0; | 0; | @ |
이렇게 양수, 음수, 0일 경우, Text 를 4가지 session으로 나누어 지정해 줄 수 있다.
나는 데이터가 양수도 음수로 (3,000 -> -3,000) 음수도 음수로 (-1,000 -> -1,000), 0은 0 그대로 나타내고 싶으니 아래와 같이 작성했다.
It has four sessions and you can decide what to use in each session. I need all the data to be negative but 0 and 0 just need to be 0 so my customized format is like below.
numFmt : '-#,##0;-#,##0;0;@'
It works!
Reference :