Как преобразовать диапазон в строку в Google Spreadsheet? - PullRequest
1 голос
/ 30 марта 2020

У меня есть скрипт в Google Spreadsheet, который подсчитывает, сколько ячеек указанных цветов находятся в диапазоне (например, 10 ячеек в диапазоне и 3 из них имеют красный шрифт).

function countTextColor(inputRangeStr, inputColorStr) {
  var inputRange = SpreadsheetApp.getActive()
    .getActiveSheet()
    .getRange(inputRangeStr);
    . . . 
    . . . 
}

Если Я вызываю функцию, где диапазон является строкой, тогда нет проблем:

=COUNTTEXTCOLOR("A1:F1", "#ff0000")

Но мне нужно использовать диапазон как реальную ссылку, где он динамически указывает на указанные ячейки. Когда он вызывается так ...

=COUNTTEXTCOLOR(A1:F1, "#ff0000")

... возвращается исключение:

Range not found (line 9).

Я понимаю, что ссылку нужно преобразовать в строковый формат, но как это сделать? который?

1 Ответ

0 голосов
/ 30 марта 2020
  • В скрипте приложений любое значение, которое не является строго числовым c, должно быть строкой
  • Строка не может быть передана без кавычек

В качестве обходного пути:

  • Сохраните реальные ссылки без кавычек в отдельном столбце (например, столбец I)
  • Позвоните в скрипт приложения с помощью =COUNTTEXTCOLOR(TO_TEXT(I1), "#ff0000") - это преобразует нотацию диапазона в строку
...