2016-09-20 4 views
0

Neu in Google Apps Script, aber einige VBA-Coding-Erfahrung.Format Währung basierend auf Bedingung

Ich bin in der Lage, das numerische Format einer Zelle basierend auf einem anderen Zelleneingang entschieden zu haben.

z.

  • Col A - Kundenname (Validierte Bereich)
  • Col B - Typ Währung (GBP, USD, EUR - geprüfte Liste)
  • Col C - Gebühr (100 - freie Art von Benutzer)

Basierend auf der Auswahl in Col B als das Format in Spalte C, um es braucht zu setzen entweder:

£ 100.00 oder
$ 100.00 oder
€ 100,00.

Dies sollte so gemacht werden, dass die "Autosum" -Funktion, die unten im Google-Fenster angezeigt wird, die Werte noch hinzufügen kann, oder wenn eine Sumif-Funktion verwendet wird, werden die Summen für USD, GBP und EUR angezeigt richtig. I.E. es kann keine textbasierte Lösung sein oder zumindest keine, bei der das nicht das Ergebnis ist.

+0

Willkommen bei [so]. Bitte nimm die [Tour] und check [ask]. Wenn Sie sich entschieden haben, Ihre Frage zu bearbeiten, beschreiben Sie bitte, warum und wie Sie dies voraussichtlich mithilfe von [tag: google-apps-script] lösen, anstatt die integrierten Einstellungen für das Zahlenformat/Gebietsschema zu verwenden. –

Antwort

1

Versuchen Sie es mit onEdit trigger, und legen Sie das benutzerdefinierte Zahlenformat fest.

Hier Code sampe für Währungsformate:

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); 

} 

Make-Skript zu überprüfen aktuellen Eintrag in der Spalte mit Summen- und formatieren Sie es in der richtigen Währung.


Aber Text-Lösung mit Formel sieht besser aus für mich: enter image description here

Auf diese Weise können die Einträge in der Spalte mit Summe verstecken und zeigen Text mit Format. Summen können in weiteren Formeln verwendet werden.

Es gibt auch einfache ARRAYFORMULA: =ArrayFormula(TEXT(C2,VLOOKUP(OFFSET(B2,,,COUNTA(B2:B)),H:I,2,0)&" 0.00"))

Wenn Sie es in D2 einfügen, wird es automatisch erweitern werde.

+0

Danke Max. Begrenzte Nutzung, obwohl B2 ausgewählt werden muss. GBP und C2 müssen £ 00.00 sein. Wenn B2 als USD ausgewählt wird, muss die C2 $ 00.00 sein. Folgen? Ihr Code setzt nur bestimmte Formate, nicht dynamische, basierend auf dem Wert in Zelle B2. –

+0

Ja, natürlich gibt mein Code die Richtung vor, in der Sie handeln möchten. Sorry, aber ich denke, dass deine Frage sehr spezifisch ist, also habe ich keine Zeit den ganzen Code für dich zu schreiben. Hoffe, jemand wird es tun. –