Jumlahkan data berdasarkan warna sel di Google Spreadsheets
14
Saya telah melihat pertanyaan ini dan walaupun saya menghadapi masalah yang sama, jawaban untuk pertanyaan itu tidak membantu kasus saya.
Saya memiliki spreadsheet besar yang sering diubah. Jadi, menurut solusi yang diterima untuk pertanyaan itu, sulit untuk menduplikasi semua kolom yang dihuni dan sulit untuk mengedit satu sel lagi setiap kali saya ingin membuat perubahan pada warna latar belakang sel.
Apakah tidak ada cara untuk menjumlahkan data berdasarkan kondisi mengenai warna latar belakang sel di Google Spreadsheets?
Silakan dari rangeSpecificationparameter perlu tanda kutip ( ") di sekitar mereka.
Sebagai contoh:
=sumWhereBackgroundColorIs("white", "A1:C4")
menjumlahkan nilai semua sel dalam rentang A1: C4 yang memiliki latar belakang putih.
Harap perhatikan bahwa jika Anda tidak tahu warna sel tertentu, Anda dapat menggunakan getBackgroundColorfungsi yang disediakan untuk mengetahui apa warnanya. Fungsi ini diperlukan, karena beberapa warna dinyatakan sebagai kode RGB (misalnya, #00ff00bukan green).
Sudah getBackgroundColor()usang. Mungkin Anda dapat memperbarui kode?
Jacob Jan Tuinstra
2
@JacobJanTuinstra Saya telah memperbarui kode, tetapi butuh beberapa saat bagi Google untuk meninjau kiriman saya. Sementara itu, Anda dapat menggunakan kode ini
Galeri skrip telah digantikan oleh pengaya. Saya tidak dapat menemukan "jumlah warna" di bawah add-on. Apakah Anda harus mengirimkan skrip untuk ditambahkan agar tersedia di sana?
Jeff Lockhart
3
@ w0lf Spreadsheet Google baru tampaknya tidak lagi mendukung galeri skrip. Ini dialihkan dengan pesan ke add-on baru. Editor skrip masih tersedia dan saya menggunakan kode Anda di sana. Saya membuat garpu dan menambahkan dukungan untuk melewatkan sel-sel kosong (non-numerik) dalam jumlah (jika tidak, kesalahan terjadi jika sel-sel kosong ada dalam kisaran): gist.github.com/jeffdgr8/1553faa6360ad04e9c17
Jeff Lockhart
2
Beginilah cara saya membuatnya bekerja:
Buka Tools>Script Editor
Rekatkan kode di bawah ini, simpan skrip
Kembali ke spreadsheet Anda. Gunakan dengan di =countColoredCells(A1:Z5,C5)mana C5sel dengan warna yang akan dihitung.
Kode:
/**
* @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()
usang. Mungkin Anda dapat memperbarui kode?Beginilah cara saya membuatnya bekerja:
Buka
Tools
>Script Editor
Rekatkan kode di bawah ini, simpan skrip
Kembali ke spreadsheet Anda. Gunakan dengan di
=countColoredCells(A1:Z5,C5)
manaC5
sel dengan warna yang akan dihitung.Kode:
Kredit kode (diubah): http://igoogledrive.blogspot.lt/2015/11/google-spreadsheet-count-of-colored.html
sumber
TypeError: Cannot call method "pop" of null. (line 13, file "Code")Dismiss