Я использую эти функции в своих таблицах Google. С литералом массива я получаю сообщение об ошибке, когда есть входы, разделенные запятыми, которые необходимо разделить, но он работает нормально, когда в столбце K есть только значение. Он отлично работает без заголовка столбца. Может кто-нибудь объяснить ошибку в первом коде?

={"Don't Edit this Column TargetGroup ID";Arrayformula(IFERROR(SPLIT(MainSheet!K2:K,",",TRUE, True),""))}

А также

 =Arrayformula(IFERROR(SPLIT(MainSheet!K2:K,",",TRUE, True),""))
1
swapnilindahood 17 Окт 2020 в 20:39

1 ответ

Лучший ответ

Попробуй это:

={
  "Don't Edit this Column TargetGroup ID", Arrayformula(SPLIT(REPT(",", COLUMNS(SPLIT(MainSheet!K2:K,",")) - 2), ",", True, False));
  Arrayformula(IFERROR(SPLIT(MainSheet!K2:K,","),""))
}

У вас было только одно строковое значение для первого необработанного литерала в массиве ({}), так что это только один столбец.

Предположительно, SPLIT нашел по крайней мере одну запятую и дал вам как минимум два диапазона столбцов, которые нельзя присоединить к вашей первой строке (строке заголовка) снизу, поскольку они не совпадают по столбцам.

Этот SPLIT(REPT(...), ...) дает необходимое количество пустых ячеек для добавления справа от вашего заголовка, чтобы количество столбцов совпадало.


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

1
kishkin 20 Окт 2020 в 10:22