2016-06-21 11 views
0

Ich möchte die Differenz für jede Zeile von D (ay) 1 bis D (ay) 2, von D2 bis D3 und so weiter berechnen, aber wie? Und ich möchte, dass der Unterschied in derselben Zelle wie "+30" angezeigt wird, wenn ich den Wert eintrage.Ersetzen Sie eine Reihe von Zahlen mit ihren aufeinanderfolgenden Differenzen, wie sie eingegeben werden

EDIT: Ich denke, es wäre möglich, den Unterschied zu präsentieren, indem Sie benutzerdefinierte Zellenformat verwenden?

Table

+0

Speichern Sie die Nummern und notieren Sie die Einheiten in der Spaltenüberschrift – jonrsharpe

Antwort

0

gibt es nicht viel Sie mit benutzerdefinierten Zahlenformat zu tun, obwohl es ein + vor positive Zahlen zu haben, wird dazu beitragen, (das Format +#;# dafür verwenden).

Das Ersetzen von Werten mit Unterschieden müsste mit einem Apps Script wie dem folgenden erfolgen. Es prüft, ob die Änderung an einer Zelle in Zeile> 1 und Spalte> 8 vorgenommen wurde, und berechnet die Änderung der Werte. Wenn zum Beispiel Spalte H 315 hat und Sie 345 in Spalte I eingeben, wird das Ergebnis +30 in Spalte I sein. Wenn Sie dann 310 in Spalte J platzieren, wird es durch -35 ersetzt.

Die im Skript verwendete Nummer 8 bezieht sich auf die Spalte H, in der die Basiswerte eingegeben werden.

function onEdit(e) { 
    var row = e.range.getRow(); 
    var col = e.range.getColumn(); 
    var sheet = e.range.getSheet(); 
    if (row > 1 && col > 8 && typeof e.value != 'object') { 
    var values = sheet.getRange(row, 8, 1, col-8).getValues()[0]; 
    var s = values[0]; 
    for (var i = 1; i < values.length; i++) { 
     s += values[i]; 
    } 
    e.range.setValue(e.value - s); 
    } 
} 
Verwandte Themen