2016-09-20 23 views
0

Google Apps Scriptを初めてご利用になりましたが、VBAコーディング経験があります。条件に基づいた通貨フォーマット

私は、異なるセル入力に基づいて決定されたセルの数値書式を持つことができるように考えています。

例えば、

  • コルA - クライアント名(検証済み範囲)
  • コルB - 通貨タイプ(GBP、USD、EUR - 検証リスト)
  • コルC - 料金(100 - ユーザによるフリータイプ)
  • それはどちらかとコルCフォーマットを置くために必要コルBの選択に基づいて

£100.00または
$ 100.00または
€100.00。

これは、Googleシートの下部に表示される「自動」機能が引き続き値を追加できるようにするか、sumif関数を使用するとUSD、GBP、EUR合計が得られるようにする必要があります正しい。 I.それはテキストベースの解決策でも、少なくとも結果が得られない解決策でもありません。

+0

ようこそ[so]。 [ツアー]とチェックアウト[質問]をしてください。あなたの質問を編集する場合は、組み込みの数値書式/ロケール設定を使用するのではなく、[タグ:google-apps-script]を使用して、なぜ、どのように解決されるのかを記述してください。 –

答えて

1

onEdit triggerを試して、カスタム番号形式を設定してください。

ここ通貨形式のコードSAMPEです:

function customNumberFormat() { 

    var SS = SpreadsheetApp.getActiveSpreadsheet(); 
    var ss = SS.getSheetByName('Sheet1'); 

    var range1 = ss.getRange("C2"); 
    var range2 = ss.getRange("C3"); 
    var range3 = ss.getRange("C4"); 

    var format1 = "£ 00.00" 
    var format2 = "$ 00.00" 
    var format3 = "€ 00.00" 

    range1.setNumberFormat(format1); 
    range2.setNumberFormat(format2); 
    range3.setNumberFormat(format3); 

} 

合計と列内の現在のエントリをチェックし、適切な通貨で、それをフォーマットするためのスクリプトを作成します。


しかし、式のテキストソリューションは、私にとっては良く見える: enter image description here

この方法であなたは合計と列のエントリを隠し、そして形式のテキストを表示しています。和は、さらなる式で使用することができます。

もシンプルARRAYFORMULAあります:あなたはD2に貼り付けた場合 =ArrayFormula(TEXT(C2,VLOOKUP(OFFSET(B2,,,COUNTA(B2:B)),H:I,2,0)&" 0.00"))

、それが自動的に拡張します。

+0

ありがとうございました。 B2はGBPを選択する必要がありますが、C2は£00.00でなければなりません。 B2がUSDとして選択されている場合、C2は$ 00.00である必要があります。続く?あなたのコードは、セルB2の値に基づいて動的なものではなく特定のフォーマットを設定するだけです。 –

+0

はい、もちろん、私のコードはあなたが行動したいかもしれない方向を示します。申し訳ありませんが、私はあなたの質問は非常に特殊なケースだと思うので、私はあなたのためのコード全体を書く時間がありません。希望、誰かが望む。 –

関連する問題