Javascript 计算Google Sheets脚本中的粗体单元格数

Javascript 计算Google Sheets脚本中的粗体单元格数,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,所以,老实说,我不是一个很好的编码员,但我已经设法摸索出了计算单元格背景颜色的方法,但我努力让它在计算字体粗体的单元格时起作用。我在下面详细介绍了我的函数,其中只有6个单元格采用粗体字体,但有13个单元格采用粗体字体 function countboldcells() { var book = SpreadsheetApp.getActiveSpreadsheet(); var sheet = book.getActiveSheet(); var range_input = shee

所以,老实说,我不是一个很好的编码员,但我已经设法摸索出了计算单元格背景颜色的方法,但我努力让它在计算字体粗体的单元格时起作用。我在下面详细介绍了我的函数,其中只有6个单元格采用粗体字体,但有13个单元格采用粗体字体

function countboldcells() {
  var book = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = book.getActiveSheet();
  var range_input = sheet.getRange("E2:S7");
  var range_output = sheet.getRange("G14");
  var cell_styles = range_input.getFontStyle();
  var count = 0;

 for(var r = 0; r < cell_styles.length; r++) {
    for(var c = 0; c < cell_styles[0].length; c++) {
      if(cell_styles.isBold = true) {
        count = count + 1;
      }
    }
     range_output.setValue(count);
  }

}
函数countboldcells(){
var book=SpreadsheetApp.getActiveSpreadsheet();
var sheet=book.getActiveSheet();
var range_输入=sheet.getRange(“E2:S7”);
var range_输出=sheet.getRange(“G14”);
var cell_styles=range_input.getFontStyle();
var计数=0;
对于(var r=0;r
您的if语句需要在括号内有3“=”
if(cell_styles.isBold==true)
是返回或不返回
bold
的方法。然后计算它们的简单方法是将数组、所有的
“bold”
元素展平,并获得过滤列表的值

function countboldcells() {
  var book = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = book.getActiveSheet();
  var range_input = sheet.getRange("E2:S7");
  var range_output = sheet.getRange("G14");

  // Get the fontWeights of the range and flatten the array
  var cell_styles = range_input.getFontWeights().join().split(",");

  // Filter out any value that is not "bold"
  var filter_bold = cell_styles.filter(function (e) { return e == "bold" });

  // Set the count
  range_output.setValue(filter_bold.length);

}

这是你的代码和更正。评论中有解释

function countboldcells() {
  var book = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = book.getActiveSheet();
  var range_input = sheet.getRange("E2:S7"); 
  var range_output = sheet.getRange("G14");
  var cell_styles = range_input.getFontWeights(); // getFontStyle can only return 'italic' or 'normal'
  var count = 0;

  for(var r = 0; r < cell_styles.length; r++) {
    for(var c = 0; c < cell_styles[0].length; c++) { // isBold is a method for Google Documents only (not sheets) 
      if(cell_styles[r][c] === "bold") { // you need at least two '=' signs // also include the index of cell_styles
        count = count + 1; // count += 1 would also work
      }
    }
  }
  range_output.setValue(count); // make sure you setValue only when booth loops are done.
}
函数countboldcells(){
var book=SpreadsheetApp.getActiveSpreadsheet();
var sheet=book.getActiveSheet();
var range_输入=sheet.getRange(“E2:S7”);
var range_输出=sheet.getRange(“G14”);
var cell_styles=range_input.getFontWeights();//getFontStyle只能返回“italic”或“normal”
var计数=0;
对于(var r=0;r