пропуск неверного или пустого диапазона аргумента в Индексе 0: 1268,74,, 263,98,100, 48, 231,86,123,0,0,0,0
(и аналогичные строки для всех аргументов), с номерами --- окончательная сумма: 0 -----. Диапазоны (например, C33: C45, C48: C54, ...), которые не имеют цвета заполнения (белый/прозрачный фон).
Формула в листе:
= Sum_uncolored_cells (C33: C45, C48: C54, C57: C64, C67: C70, C73: C90, C93: C97, C100: C108, C111: C116) < /p>
script -код (код. /> javascript < /p>
Код: Выделить всё
/**
* Sums the values in multiple ranges that do NOT have a custom fill color.
* It considers both truly transparent backgrounds ("") and default white backgrounds ("#ffffff") as "no fill".
*
* @param {...GoogleAppsScript.Spreadsheet.Range} ranges A list of ranges to sum (e.g., C1:C10, D1:D10).
* @return {Number} The sum of cells without a custom background color across all provided ranges.
* @customfunction
*/
function SUM_UNCOLORED_CELLS(...ranges) {
var sum = 0;
Logger.log('--- Starting SUM_UNCOLORED_CELLS execution ---');
for (var k = 0; k < ranges.length; k++) {
var currentRange = ranges[k];
if (currentRange && typeof currentRange.getValues === 'function') {
// This block should execute, but based on logs, currentRange is not a Range object
Logger.log('Processing range: ' + currentRange.getA1Notation()); // This line is never reached
var values = currentRange.getValues();
var backgrounds = currentRange.getBackgrounds();
for (var i = 0; i < values.length; i++) {
for (var j = 0; j < values[0].length; j++) {
var cellValue = values[i][j];
var cellBackground = backgrounds[i][j];
if ((cellBackground === '' || cellBackground === '#ffffff') && typeof cellValue === 'number' && !isNaN(cellValue)) {
sum += cellValue;
}
}
}
} else {
// THIS IS THE PROBLEM SEEN IN MY LOGS:
Logger.log('Skipping invalid or empty range argument at index ' + k + ': ' + currentRange);
}
}
return sum;
}
обеспечить точный, авторизованный, авторизованный, и использует правильный JSDOC. /> Удал и повторно въехал формулу с нуля. «Пропустить недопустимый аргумент» ошибка в журналах. < /P>
подтвердил, что скрипт правильно связан с конкретным листом Google. Проблема глубокого кэширования), которая предотвращает передачу ссылок на диапазон в качестве объектов диапазона на пользовательские функции, даже если подпись функции, по -видимому, распознается по подсказке инструментов листа. Спасибо! » Поведение: < /p>
Формула Helper Sutpip в Google правильно показывает, что функция ожидает (диапазон, ...) аргументы. < /p>
Тем не менее, журналы выполнения сценария приложений последовательно показывают, что функция - это литеральные значения (например, «1268.74, 263.98, ...») вместо фактических объектов с диапазоном от поэтапника. /P> p> p> p> p> p> p> < /p> p> p> p> < /p> p> p> p> < /p> p> < /p> p> p> preman < /p> p> < /p> p> preman (p> p> preman (p> p> p> preman (p> p> p> pript script, 263.98, ... ») Чтобы пропустить неверный или пустой аргумент в диапазоне в журналах и окончательную сумму 0.
выполнил стандартный браузер/листовой устранение неисправностей:
Очищенное кеш браузера и файлы cookie (все время).
Обновленная страница Google Sheat (F5/ctrl+F5). Вновь открыл вкладку и браузер Google. = Sum_uncolored_cells (c33: c40)), что также не удалось с той же ошибкой, передаваемой аргументами.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... ge-objects