반응형
구글시트로 청구서를 만드는 중입니다. 합계금액에 한글로 "일금 0000원정"이라는 한글로 된 금액을 표시하고 싶었습니다. 구글 시트에서 숫자를 한글로 표현하기 위한 앱 스크립트 코드를 작성할 수 있습니다. 이 코드에서는 숫자를 한글로 변환하는 함수와 이를 구글 시트에서 호출할 수 있는 함수를 구현합니다.
챗gpt의 힘을 빌렸습니다.
- 구글 시트에서 확장프로그램 > Apps Script를 클릭하여 앱 스크립트 편집기를 엽니다.
- 제목 없는 프로젝트에 기본코드가 있습니다. 전부 지워줍니다.
- 아래 코드를 복사하여 붙여넣습니다.
function numToKorean(num) {
const units = ['', '십', '백', '천'];
const bigUnits = ['', '만', '억', '조', '경'];
if (num === 0) return '영';
let result = '';
let bigUnitIndex = 0;
while (num > 0) {
let chunk = num % 10000;
num = Math.floor(num / 10000);
if (chunk > 0) {
let chunkStr = '';
for (let i = 0; i < 4; i++) {
let digit = chunk % 10;
if (digit > 0) {
chunkStr = digitToKorean(digit) + units[i] + chunkStr;
}
chunk = Math.floor(chunk / 10);
}
result = chunkStr + bigUnits[bigUnitIndex] + result;
}
bigUnitIndex++;
}
return '일금 ' + result + '원정';
}
function digitToKorean(digit) {
switch (digit) {
case 1: return '일';
case 2: return '이';
case 3: return '삼';
case 4: return '사';
case 5: return '오';
case 6: return '육';
case 7: return '칠';
case 8: return '팔';
case 9: return '구';
default: return '';
}
}
function convertNumberToKorean(range) {
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let values = sheet.getRange(range).getValues();
for (let i = 0; i < values.length; i++) {
for (let j = 0; j < values[i].length; j++) {
if (typeof values[i][j] === 'number') {
values[i][j] = numToKorean(values[i][j]);
}
}
}
sheet.getRange(range).setValues(values);
}
function onOpen() {
let ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('Convert Numbers to Korean', 'showPrompt')
.addToUi();
}
function showPrompt() {
let ui = SpreadsheetApp.getUi();
let response = ui.prompt('Convert Numbers to Korean', 'Please enter the range (e.g., A1:B10):', ui.ButtonSet.OK_CANCEL);
if (response.getSelectedButton() == ui.Button.OK) {
let range = response.getResponseText();
convertNumberToKorean(range);
}
}
프로젝트를 클릭해서 "숫자를 한글로"(임의대로 하셔도 됩니다.)하고 저장합니다.
구글시트로 돌아갑니다.
- 새로고침 후 메뉴에 Custom Menu가 추가된 것을 확인할 수 있습니다.
- Custom Menu > Convert Numbers to Korean을 클릭하면 승인요청을 합니다. 승인요청 후 다시 한번 누르면
- 범위를 입력할 수 있는 창이 나타납니다.
- 숫자를 변환하고 싶은 셀 범위를 입력하면 해당 범위의 숫자가 한글로 변환되며, 앞에 "일금", 뒤에 "원정"이 추가됩니다.
이 스크립트는 숫자를 한글로 변환할 때 "일금"과 "원정"을 자동으로 추가하여 변환된 값을 셀에 반영됩니다.
반응형
'구글시트 > Sheets' 카테고리의 다른 글
[구글시트] 구글캘린더 동기화 3. 자동동기화 (0) | 2024.07.24 |
---|---|
[구글시트]구글캘린더 동기화 2. 버튼 동기화 (0) | 2024.07.24 |
[구글시트] 구글캘린더 동기화 1. (1) | 2024.07.24 |
[구글시트] 소요시간 계산하기 (0) | 2024.07.10 |
[구글시트] 인쇄시 격자선 보일 때 (0) | 2024.06.30 |
[구글시트] 날짜 형식 "월"을 영어로 (0) | 2024.06.30 |
[구글시트] 견적서 숫자를 한글로 표기하기 (1) | 2024.06.27 |
구글 시트, 구글 앱시트를 선택하게 된 이유 (0) | 2024.06.19 |