5

Можно ли преобразовать массив в строку с помощью формулы Excel?

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

Например, у меня есть следующий массив: { "a","b"} Я бы хотел, чтобы моя формула вывела ab

Origianlly я думал об использовании CONCATENATE({"a","b"}) но это привело a

1 ответ1

2

Это может быть сделано с помощью формул, однако вывод списка из более чем 1000 строк, вероятно, превысит пределы Excel для строк или даст громоздкий результат. Будьте в стороне.

  • Создайте скрытый рабочий лист под названием "Зона" или любое другое имя.
  • если именованный диапазон, который вы получаете, называется "x", то в столбце A укажите "Count", а затем в ячейку под ним введите enter = counta(x) ', что даст нам размер массива.
  • назовите ячейку с фактическим номером "Cnt"
  • затем в столбце c, начиная с c3, введите в "Данные" это заголовок
  • при c4 введите = index(x, 1)
  • на c5 и расширить размер возможного диапазона =+IF(ROW()> Cnt+3, "", C4 & INDEX(x, ROW() - 3))

  • в d2 введите "Ответить" и в d3 введите =+OFFSET($ C $ 3, Cnt, 0)

  • назовите ячейку d3 как Ans, и вы можете использовать ее там, где вам нужно. Возможный мод - добавить ",", такие как c4 & "," & index(x, row() - 3)), использовать iferror вместо if(row()> cnt+3 для маскировки ошибок, если скопировали формулу в Ячейки 2000 имеют тест if(cnt> 2000, «Ошибка именованного диапазона слишком велика - вызовите Джона Доу», «»), чтобы появилось сообщение об ошибке, если недооценивать размер именованного диапазона.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .