use*_*764 13 google-apps-script
我正在尝试计算具有相同背景颜色的单元格数量,并将结果放在谷歌应用程序脚本中的脚本的其他单元格中,但我不能这样做.我有下一个脚本但没有工作,我不知道哪个是问题:
function countbackgrounds() {
var book = SpreadsheetApp.getActiveSpreadsheet();
var range_input = book.getRange("B3:B4");
var range_output = book.getRange("B6");
var cell_colors = range_input.getBackgroundColors()[0];
var color = "#58FA58";
var count = 0;
for( var i in cell_colors )
if( cell_colors[i] == color ){
range_output.setValue(++count);
}
else {
return count;
}
}
Run Code Online (Sandbox Code Playgroud)
Wol*_*lph 23
如果您不想使用Google表格电动工具手动编码,请轻松解决:
function countbackgrounds() {
var book = SpreadsheetApp.getActiveSpreadsheet();
var sheet = book.getActiveSheet();
var range_input = sheet.getRange("B3:B4");
var range_output = sheet.getRange("B6");
var cell_colors = range_input.getBackgroundColors();
var color = "#58FA58";
var count = 0;
for(var r = 0; r < cell_colors.length; r++) {
for(var c = 0; c < cell_colors[0].length; c++) {
if(cell_colors[r][c] == color) {
count = count + 1;
}
}
}
range_output.setValue(count);
}
Run Code Online (Sandbox Code Playgroud)
小智 8
您可以使用此工作脚本:
/**
* @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;
};
Run Code Online (Sandbox Code Playgroud)
然后在你的谷歌表格中调用这个函数:
=countColoredCells(D5:D123,Z11)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88748 次 |
| 最近记录: |