я хочу спросить о Google App Script js не работает - PullRequest
0 голосов
/ 29 апреля 2020

Проблема 1:

Ниже приведен фрагмент кода, который получает значения из ячеек в параметрах функций и обрабатывает их.

function functionName(Parameter1,Parameter2,ParameterOutput)


{ 
  Parameter1.substr(0, 4);


  Parameter2.toString();


...........


...........

Return ParameterOutput;

}

Параметр1 имеет цифры 544578613

Я хочу сохранить только первые 4 цифры, но ни одна из встроенных функций не работает

.toString()
.substr(0, 4)
.substring(0, 4)

или любая другая, ни одна из них не работает. Это все еще дает вывод 1022 * var app = SpreadsheetApp;

var activeSheet = app.getActiveSpreadsheet (). GetActiveSheet ();

Проблема 2: Вторая проблема заключается в том, что я проверял дубликаты в строка следующей функции. Отлично работает на первом листе. Но я хочу изменить его для второго листа ПОЖАЛУЙСТА, помогите, как я могу реализовать его на втором листе.

изображение имеет функцию plz click введите описание изображения здесь

== ===========================================

Проблема 3:

У меня есть функция, которая берет данные из столбца. Запускается 1-й Для l oop, чтобы сохранить только первые 9 символов. Запускает 2-й l oop, чтобы выбрать данные из строки 1, Запускает 3-й вложенный l oop, чтобы найти дубликаты. Проблема в том, что в столбце 1400 строк, поэтому 2-й l oop выполняется 1400 раз, а 3-й вложенный l oop выполняется 1400 минус-минус раз с каждой итерацией внешнего l oop.

Требуется много времени и гугл возвращает ошибку времени выполнения. Google очень медленно выполняет эту задачу. Как это можно решить?

Эта функция отлично работает для строк до 500

1 Ответ

1 голос
/ 29 апреля 2020

Я не понимаю, почему вы используете substr() вместо substring(). Каков ваш источник использования substr.

Я только что попробовал простой пример, и для меня получение 4 первых ди git с правильным методом (substring) работало нормально.

function test(){
  var a = "2020notimportant";

  var result = a.substring(0, 4);

  Logger.log(result);

}

2020

Попробуйте использовать правильный метод и посмотрите, работает ли он.


Это, конечно, можно использовать с ячейками листов Google, создающими пользовательскую функцию с очень небольшими настройками.

function TEST(input){
//  var a = "2020notimportant";
  Logger.log(input);
  var a = input.toString(); // Convert to String before `substring`

  var result = a.substring(0, 4);

  Logger.log(result);

  return result;

}

Обратите внимание, что я использовал toString до substring(), если входной параметр не Строка. Здесь вы можете увидеть пример этой работы в некоторых ячейках:

Example of TEST Function

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...