рассчитать диапазон значений, введенных пользователем Пользовательская функция Google Appscript - PullRequest
0 голосов
/ 07 января 2020

Я хочу использовать массив формул для моей пользовательской функции, если это возможно, потому что я хочу ввести диапазон значений

Я также получаю эту ошибку: TypeError: Cannot read property "0" from null.

Кроме того, это: Service invoked too many times in a short time: exec qps. Try Utilities.sleep(1000) between calls

 var regExp = new RegExp("Item: ([^:]+)(?=\n)");
 var matches=new regExp(input);
 return matches[0];

}

Действительно признателен за некоторую помощь

Редактировать : На основе второго изображения я также пытаюсь использовать эту формулу регулярного выражения, чтобы найти слово, начинающееся с "Адрес для выставления счета"

Но для первого изображения я использовал формулу регулярного выражения, чтобы найти слово, начинающееся с "Item"

Ошибка выглядит одинаково для обеих пользовательских функций.

TypeError: Cannot read property

Service invoked too many times in a short time: exec qps. Try Utilities.sleep(1000) between calls

1 Ответ

0 голосов
/ 08 января 2020

Если вы хотите использовать custom function, который находит все строки, начинающиеся с Item или item, и извлекает содержимое после поиска, вы можете использовать код, представленный ниже. Регулярное выражение проверяется с помощью функции match() и возвращает желаемый результат; в противном случае он вернет null.

function ITEM(input) {
  var regEx = /(?:I|i)tem\s*(.*)$/;
  var matches = input.match(regEx);
  if (matches && matches.length > 1) {
    return matches[1];
  } else {
    return null;
  }
}

Если вы хотите использовать RegExp, как вы делали в коде, которым вы поделились, вы должны использовать \\ вместо \.

Для проверки и подтверждения regular expressions вы можете использовать этот сайт .

Сообщение об ошибке Service invoked too many times in a short time: exec qps. Try Utilities.sleep(1000) between calls., которое вы получаете, связано с тем, что вы пытаетесь вызвать пользовательскую функцию для слишком большого числа ячеек - например, перетаскивая пользовательскую функцию одновременно на слишком много ячеек. Вы можете проверить больше об этом сообщении об ошибке здесь .

...