我已经使用了下面的google脚本
function sumWhereIsFontWeight(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.getFontWeight() == 'bold')
x += parseFloat(cell.getValue());
}
}
return x;
}
然后使用公式=SUMIF(A:A,"A"&sumWhereIsFontWeight(B1:B6),B1:B6)
但是不能得到期望的结果"10“,只能用粗体数字求和,条件是"A”。检查附件中的图像

发布于 2018-08-28 20:54:59
用法
=ArrayFormula(SUM(IF(isbold("A1:B10"),A1:B10,0)))
函数
function isBold(rangeSpecification) {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var range = sheet.getRange(rangeSpecification);
var result = [];
var numRows = range.getNumRows();
var numCols = range.getNumColumns();
var row = [];
for (var i = 1; i <= numRows; i++) {
row = [];
for (var j = 1; j <= numCols; j++) {
var bold = (range.getCell(i,j).getFontWeight() === 'bold');
row.push(bold);
}
result.push(row);
}
return result;
}注意事项
当您添加新的粗体单元格时,自定义函数不会自动更新。您需要重新输入公式。
https://stackoverflow.com/questions/52058133
复制相似问题