REPT выдает «Текстовый результат REPT длиннее, чем ограничение в 32000 символов». ошибка - альтернативная функция? - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь повторить набор значений, разделенных запятыми, дважды, в результате чего этот набор превышает ограничение в 32000 символов, которое допускает REPT.

Есть ли способ использовать альтернативу для этого, такую ​​как javascript или использовать функцию запроса?

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

Это функция: =REPT(JOIN(",",ARRAYFORMULA(REPT(SPLIT("1010,1020,1050,1051,1052,1060,1070,1080,1081,1090,1091,1092,1093,1094,1100,1120,1150,1180,1200,1240,1250,1260,1280,1290,1300,1301,1310,1312,1320,1321,1323,1330,1331,1342,1345,1350,1355,1360,1380,1390",",")&",",19))),40)

Это ошибка:

Текстовый результат REPT превышает ограничение в 32000 символов.

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

SPLIT преобразует текст в числа, а REPT работает только с текстом.

Поэтому рассмотрите возможность обращения последовательности;

  • Повторите строку
  • Затем разделите его

=split(rept("1010,1020,1050,1051,1052,1060,1070,1080,1081,1090,1091,1092,1093,1094,1100,1120,1150,1180,1200,1240,1250,1260,1280,1290,1300,1301,1310,1312,1320,1321,1323,1330,1331,1342,1345,1350,1355,1360,1380,1390,",2),",",true,true)

0 голосов
/ 25 июня 2019

сначала убедитесь, что вы действительно знаете, что вам это нужно

ваша формула слишком велика, но если вы измените 40 на 8,работа:

=ARRAYFORMULA(REPT(JOIN(",", REPT(SPLIT(
 "1010,1020,1050,1051,1052,1060,1070,1080,1081,1090,1091,1092,1093,1094,1100,
  1120,1150,1180,1200,1240,1250,1260,1280,1290,1300,1301,1310,1312,1320,1321,
  1323,1330,1331,1342,1345,1350,1355,1360,1380,1390", ",")&",", 19)), 8))

так что теперь вам просто нужно сложить его в массив VR 5 раз:

=ARRAYFORMULA(QUERY({REPT(JOIN(",", REPT(SPLIT(
 "1010,1020,1050,1051,1052,1060,1070,1080,1081,1090,1091,1092,1093,1094,1100,
  1120,1150,1180,1200,1240,1250,1260,1280,1290,1300,1301,1310,1312,1320,1321,
  1323,1330,1331,1342,1345,1350,1355,1360,1380,1390", ",")&",", 19)), 8);
 REPT(JOIN(",", REPT(SPLIT(
 "1010,1020,1050,1051,1052,1060,1070,1080,1081,1090,1091,1092,1093,1094,1100,
  1120,1150,1180,1200,1240,1250,1260,1280,1290,1300,1301,1310,1312,1320,1321,
  1323,1330,1331,1342,1345,1350,1355,1360,1380,1390", ",")&",", 19)), 8);
 REPT(JOIN(",", REPT(SPLIT(
 "1010,1020,1050,1051,1052,1060,1070,1080,1081,1090,1091,1092,1093,1094,1100,
  1120,1150,1180,1200,1240,1250,1260,1280,1290,1300,1301,1310,1312,1320,1321,
  1323,1330,1331,1342,1345,1350,1355,1360,1380,1390", ",")&",", 19)), 8);
 REPT(JOIN(",", REPT(SPLIT(
 "1010,1020,1050,1051,1052,1060,1070,1080,1081,1090,1091,1092,1093,1094,1100,
  1120,1150,1180,1200,1240,1250,1260,1280,1290,1300,1301,1310,1312,1320,1321,
  1323,1330,1331,1342,1345,1350,1355,1360,1380,1390", ",")&",", 19)), 8);
 REPT(JOIN(",", REPT(SPLIT(
 "1010,1020,1050,1051,1052,1060,1070,1080,1081,1090,1091,1092,1093,1094,1100,
  1120,1150,1180,1200,1240,1250,1260,1280,1290,1300,1301,1310,1312,1320,1321,
  1323,1330,1331,1342,1345,1350,1355,1360,1380,1390", ",")&",", 19)), 8)},,999^99))

0

...