구글시트/Sheets

[구글시트] 견적서 숫자를 한글로 표기하기

Consomme 2024. 6. 27. 10:19
반응형

견적서, 청구서에 한글로 "일금 000원정"이라고 표기하고 싶어 앱스크립트를 이용하여 표현해보았습니다.


function numberToKorean(number) {
  if (number === undefined || number === null) {
    return '';
  }
  
  const hanA = ["", "일", "이", "삼", "사", "오", "육", "칠", "팔", "구"];
  const danA = ["", "십", "백", "천"];
  const danB = ["", "만", "억", "조", "경"];

  let result = "";
  let numberStr = number.toString();
  let unitCount = 0;

  while (numberStr.length > 0) {
    let part = numberStr.slice(-4);
    numberStr = numberStr.slice(0, -4);
    let partResult = "";

    for (let i = 0; i < part.length; i++) {
      let digit = part[part.length - 1 - i];
      if (digit !== "0") {
        partResult = hanA[digit] + danA[i] + partResult;
      }
    }

    if (partResult !== "") {
      result = partResult + danB[unitCount] + result;
    }

    unitCount++;
  }

  return result || "영";
}

function convertToKoreanAmount(number) {
  const koreanNumber = numberToKorean(number);
  return `일금 ${koreanNumber}원정`;
}

function KOREAN_AMOUNT(cellValue) {
  if (typeof cellValue !== 'number' || cellValue < 0) {
    return '유효한 숫자를 입력하세요';
  }
  return convertToKoreanAmount(cellValue);
}
  1. 구글 시트에서 확장프로그램 -> Apps Script를 클릭하여 스크립트 편집기를 엽니다.
  2. 위 코드를 스크립트 편집기에 붙여 넣습니다.
  3. 저장하고 시트로 돌아가서 필요한 셀에 이 사용자 정의 함수를 사용하면 됩니다.

예를 들어 a1에 한글을 넣고 b1에 ₩2,000으로 되어 있다면 a1셀에
=KOREAN_AMOUNT(b1)
을 입력합니다.



 

 

반응형