Summieren Sie die Daten basierend auf der Zellenfarbe in Google Spreadsheets
14
Ich habe diese Frage gesehen und obwohl ich vor dem gleichen Problem stehe, ist die Antwort auf diese Frage für meinen Fall nicht hilfreich.
Ich habe große Tabellenkalkulationen, die häufig geändert werden. Entsprechend der Lösung, die für diese Frage angenommen wurde, ist es schwierig, alle ausgefüllten Spalten zu duplizieren, und es ist mühsam, jedes Mal eine weitere Zelle zu bearbeiten, wenn ich die Hintergrundfarben der Zellen ändern möchte.
Gibt es keine Möglichkeit, Daten basierend auf einer Bedingung bezüglich der Zellenhintergrundfarbe in Google Spreadsheets zu summieren?
Meine Einreichung für die Google Text & Tabellen-Skriptgalerie wurde akzeptiert und Sie können sie installieren, um die gewünschten Funktionen zu erhalten.
Die Schritte:
Öffnen Sie Ihre Tabelle
Gehen Sie im Menü zu Extras -> Skriptgalerie ...
Suche nach Summe nach Farbe
Klicken Sie auf Installieren
Klicken Sie auf die Schaltfläche Autorisieren , wenn Sie dem Skript vertrauen, und klicken Sie dann auf Schließen
Gehen Sie zurück zur Tabelle
Jetzt haben Sie drei zusätzliche Funktionen, die Sie in Ihrer Tabellenkalkulationsformel verwenden können:
Bitte rangeSpecificationsetzen Sie die Parameter daher in Anführungszeichen ( ").
Beispielsweise:
=sumWhereBackgroundColorIs("white", "A1:C4")
summiert die Werte aller Zellen im Bereich A1: C4, die einen weißen Hintergrund haben.
Bitte beachten Sie, dass Sie, wenn Sie die Farbe einer bestimmten Zelle nicht kennen, die bereitgestellte getBackgroundColorFunktion verwenden können, um die Farbe herauszufinden. Diese Funktion ist erforderlich, da einige Farben als RGB-Codes ausgedrückt werden (z. B. #00ff00anstelle von green).
Der getBackgroundColor()ist veraltet. Vielleicht können Sie den Code aktualisieren?
Jacob Jan Tuinstra
2
@JacobJanTuinstra Ich habe den Code aktualisiert, aber es dauert eine Weile, bis Google meinen Beitrag überprüft. In der Zwischenzeit können Sie diesen Code verwenden
Die Skriptgalerie wurde durch Add-Ons ersetzt. Ich kann "Summe nach Farbe" unter Add-Ons nicht finden. Müssen Sie Ihr Skript bei Add-Ons einreichen, damit es dort verfügbar ist?
Jeff Lockhart
3
@ w0lf Die neuen Google-Tabellenkalkulationen scheinen die Skriptgalerie nicht mehr zu unterstützen. Es leitet mit einer Nachricht an die neuen Add-Ons weiter. Der Skripteditor ist noch verfügbar und ich habe dort Ihren Code verwendet. Ich habe einen Fork erstellt und Unterstützung für das Überspringen leerer (nicht numerischer) Zellen in der Summe hinzugefügt (andernfalls tritt ein Fehler auf, wenn leere Zellen im Bereich vorhanden sind): gist.github.com/jeffdgr8/1553faa6360ad04e9c17
Jeff Lockhart
2
So habe ich es zum Laufen gebracht:
Öffnen Sie Tools>Script Editor
Füge den Code unten ein und speichere das Skript
Kehren Sie zu Ihrer Tabelle zurück. Verwenden Sie mit =countColoredCells(A1:Z5,C5)wo C5ist die Zelle mit der Farbe zu zählen.
Code:
/**
* @param {range} countRange Range to be evaluated
* @param {range} colorRef Cell with background color to be searched for in countRange
* @return {number}
* @customfunction
*/
function countColoredCells(countRange,colorRef) {
var activeRange = SpreadsheetApp.getActiveRange();
var activeSheet = activeRange.getSheet();
var formula = activeRange.getFormula();
var rangeA1Notation = formula.match(/\((.*)\,/).pop().trim();
var range = activeSheet.getRange(rangeA1Notation);
var bg = range.getBackgrounds();
var values = range.getValues();
var colorCellA1Notation = formula.match(/\,(.*)\)/).pop().trim();
var colorCell = activeSheet.getRange(colorCellA1Notation);
var color = colorCell.getBackground();
var count = 0;
for(var i=0;i<bg.length;i++)
for(var j=0;j<bg[0].length;j++)
if( bg[i][j] == color )
count=count+1;
return count;
};
getBackgroundColor()
ist veraltet. Vielleicht können Sie den Code aktualisieren?So habe ich es zum Laufen gebracht:
Öffnen Sie
Tools
>Script Editor
Füge den Code unten ein und speichere das Skript
Kehren Sie zu Ihrer Tabelle zurück. Verwenden Sie mit
=countColoredCells(A1:Z5,C5)
woC5
ist die Zelle mit der Farbe zu zählen.Code:
Code-Credits (geändert): http://igoogledrive.blogspot.lt/2015/11/google-spreadsheet-count-of-colored.html
quelle
TypeError: Cannot call method "pop" of null. (line 13, file "Code")Dismiss