-1

맞춤식 숫자 형식을 프로그래밍 방식으로 적용하여 (예 : cryptocurrency와 같은) 셀에서 맞춤 통화 기호를 사용하고 숫자로 유지하여 수학을 할 수있게하고 싶습니다. 그들과 함께 또는 값을 차트.Google 스프레드 시트 프로그래밍 방식으로 맞춤 통화 기호 적용 숫자 형식

난 이미 다음과 같은 옵션을 살펴 보았다 : 나는 스프레드 시트 기능 "CONCATENATE"를 사용하는 경우

  • , 나는 문자열을 얻을 최종 값으로 수학 또는 차트를 할 수 없습니다.

  • 스프레드 시트 함수 TEXT()는 모든 사용자 정의 통화 기호가 "작동하지"않기를 원하는 숫자 형식을 가져올 수 있습니다. 예를 들어 다음은 값을 텍스트 문자열로 변환하고 수학/차트를 사용할 수 없습니다 .

예 : TEXT에 =TEXT(SUM(C5:C7),"Ƀ#,##0.00000000")

참조() : 나는 정의 함수를 만드는 경우 https://support.google.com/docs/answer/3094139?hl=en

  • format(cell) 말을하고, 값으로 텍스트 문자열을 추가 JS를 사용, 그건 더 이상 숫자 유형이 아닙니다.

예 :

이 이 이
    이 이 setNumberFormat(format) 사용자 정의 기능을 사용할 수 없습니다

    function BTC(amt) { return parseFloat('Ƀ' + parseFloat(amt).toFixed(2)); }를 호출 할

  • : function GBP(amt) { return '£' + parseFloat(amt).toFixed(2)); }

    이 문자열을 결과로 중 하나가 작동하지 않습니다는 숫자가 아닌 스프레드 시트 수식을 통해.

  • 다른 셀 서식을 복사 중입니까? 나는 또한 해결 방법으로이 문제를 볼 수 있지만 내가 복사하고 내가 적절한 포맷 할 모든 셀에 대한 서식을 붙여 넣을 경우 정말 효율적이지 같습니다 Applying "Automatic" number formatting

  • 단지 조건부 서식하고 원래 숫자에 대한 또 다른 컬럼에 값을 복사를 수학/차트 작업에만 사용되는 범위. 이것은 더 나은 해결 방법이나 깨끗한 해결책이 아닙니다. 한마디로

은, 난 그냥 내 번호를 사용자 정의 통화 기호를 추가하고 여전히 그들과 함께 수학 및 차트를 할 수 있어야합니다. 누구든지 Google Apps Script 또는 스프레드 시트 기능/메뉴를 통해 작업 할 수있는 직접적인 방법을 알고 있습니까?

+0

왜 포맷> 숫자> 추가 형식> 사용자 정의 숫자 형식이 아니고'[$ Ƀ] #, ## 0.00000000'을 제공해야합니까? –

+0

'query'는 텍스트로하지 않고 사용자 정의 포맷팅을 할 수 있습니다. 시트 API에서'text()'대신 쿼리를 사용해 볼 수 있습니다. –

+0

https://webapps.stackexchange.com/questions/111877/programmatically-change-currency-symbols-in-google-sheets – pnuts

답변

1

프로그래밍 방식으로 단일 숫자에 통화 형식을 적용하고 숫자와 함께 산술 연산을 수행하려면 setNumberFormat(string)을 사용하십시오.

참고 :

  • 지정 함수 맞춤 기능은 셀 형식을 수정할 수 없기 때문에 다수의 포맷을 적용 할 수 없다.
  • 조건부 서식에 숫자 서식이 적용되지 않습니다.
  • Google 문서에는 통화 형식이 포함되어 있지 않습니다. Google 스프레드 시트 UI에서 가져올 수 있습니다.서식> 추가 서식> 기타 통화를 클릭하고 서식> 서식 확장> 사용자 지정 숫자 서식 ...을 클릭 한 다음 텍스트 상자에서 서식을 복사하여 셀의 원하는 통화 서식을 설정합니다.

예 :

setNumberFormat 현재 파운드 스털링 통화 형식 ([$£-809]#,##0.00) 또는 기본 형식 (#,##0.00)을 적용 부분적으로 구현 Google 애플리케이션 스크립트 기능입니다. 테스트 함수는 '파운드 스털링'을 형식 매개 변수에 지정하여이를 호출하는 데 사용됩니다.

function test(){ 
    setNumberFormat('Pound sterling'); 
} 

function setNumberFormat(format) { 
    var range = SpreadsheetApp.getActiveRange(); 
    var numberFormat = ''; 
    try { 
    switch (format){ 
     case 'Pound sterling': 
     numberFormat = '[$£-809]#,##0.00'; 
     break; 
     default: 
     numberFormat = '#,##0.00'; 
     break; 
    } 
    range.setNumberFormat(numberFormat); 
    } catch (e){ 
    throw new Error('There was an error: ' + e); 
    } 
} 

관련 Q &

참조

관련 문제