Saya telah menemukan cara untuk melakukan ini, menggunakan fungsi scripting yang disediakan oleh Google Spreadsheet.
Inilah cara melakukannya:
- buka spreadsheet Anda
- di menu, buka Tools -> Script Editor ...; ini akan membuka jendela baru yang memungkinkan Anda memasukkan kode
- salin kode di bawah ini
- rekatkan kode di jendela Script Editor dan tekan CTRL+ Suntuk menyimpannya
- tutup jendela editor Script dan kembali ke spreadsheet
Kode:
function getBackgroundColor(rangeSpecification) {
var sheet = SpreadsheetApp.getActiveSheet();
var cell = sheet.getRange(rangeSpecification);
return cell.getBackground();
}
function sumWhereBackgroundColorIs(color, rangeSpecification) {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var range = sheet.getRange(rangeSpecification);
var x = 0;
for (var i = 1; i <= range.getNumRows(); i++) {
for (var j = 1; j <= range.getNumColumns(); j++) {
var cell = range.getCell(i, j);
if(cell.getBackground() == color)
x += parseFloat(cell.getValue());
}
}
return x;
}
function countCellsWithBackgroundColor(color, rangeSpecification) {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var range = sheet.getRange(rangeSpecification);
var x = 0;
for (var i = 1; i <= range.getNumRows(); i++) {
for (var j = 1; j <= range.getNumColumns(); j++) {
var cell = range.getCell(i, j);
if(cell.getBackground() == color)
x++;
}
}
return x;
}
Setelah mengikuti langkah-langkah di atas, Anda memiliki tiga fungsi lagi yang tersedia di spreadsheet:
countCellsWithBackgroundColor(<color>, <range specification>)
sumWhereBackgroundColorIs(<color>, <range specification>)
getBackgroundColor(<cell specification>)
Harap dicatat bahwa <range specification>
dan <cell specification>
dinyatakan dalam notasi A1 , dan harus dilampirkan dalam tanda kutip .
Misalnya, untuk mendapatkan jumlah semua sel dalam rentang B2: F13 yang memiliki warna latar diatur ke putih , Anda harus memasukkan rumus berikut:
=countCellsWithBackgroundColor("white", "B2:F13")
dan untuk menghitung jumlah sel yang sama, gunakan rumus:
=sumWhereBackgroundColorIs("white", "B2:F13")
Beberapa sel mungkin tidak memiliki latar belakang yang diatur ke warna seperti 'putih', 'abu-abu', tetapi warna RGB suka #6fa8dc
. Anda tidak dapat menebak apa warnanya, jadi jika Anda ingin mengetahui warna untuk sel (misalnya, B9
), Anda harus memasukkan rumus ini dalam sel:
=getBackgroundColor("B9")
dan setelah itu gunakan nilai ini sebagai parameter untuk dua fungsi di atas.
Tampaknya jika warna latar belakang sel adalah "warna tema," getBackground()
salah selalu kembali #ffffff
. Saya belum menemukan cara lain selain menggunakan warna dari set standar.
Sekali lagi, perhatikan kutipan dalam semua contoh di atas; tanpa mereka, formula tidak akan berfungsi.