it-swarm.com.de

Summieren Sie die Daten basierend auf der Zellenfarbe in Google Spreadsheets

Ich habe diese Frage gesehen und obwohl ich vor demselben 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?

14
Weslei

Bitte sehen Sie, ob meine Antwort auf eine ähnliche Frage hilft.

Update:

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 Install
  • Klicken Sie auf die Schaltfläche Autorisieren, wenn Sie dem Skript vertrauen, und 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:

  • sumWhereBackgroundColorIs(color, rangeSpecification)
  • sumWhereBackgroundColorIsNot(color, rangeSpecification)
  • getBackgroundColor(rangeSpecification)

Bitte setzen Sie die rangeSpecification -Parameter in Anführungszeichen (").

Zum Beispiel:

=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 Funktion getBackgroundColor verwenden können, um die Farbe zu ermitteln. Diese Funktion ist erforderlich, da einige Farben als RGB-Codes ausgedrückt werden (z. B. #00ff00 anstelle von green).

14

So habe ich es zum Laufen gebracht:

  1. Öffne Tools> Script Editor

  2. Füge den Code unten ein und speichere das Skript

  3. Kehren Sie zu Ihrer Tabelle zurück. Verwendung mit =countColoredCells(A1:Z5,C5) wobei C5 die Zelle mit der zu zählenden Farbe ist.

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();
  var range = activeSheet.getRange(rangeA1Notation);
  var bg = range.getBackgrounds();
  var values = range.getValues();

  var colorCellA1Notation = formula.match(/\,(.*)\)/).pop();
  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;
};

Code Credits: http://igoogledrive.blogspot.lt/2015/11/google-spreadsheet-count-of-colored.html

2
Kai Noack