Формула Excel: преобразовать строку в массив -

Содержание

Общая формула

(=MID(string,ROW(INDIRECT("1:"&LEN(string))),1))

Резюме

Чтобы преобразовать строку в массив, содержащий по одному элементу для каждой буквы, вы можете использовать формулу массива, основанную на функциях MID, ROW, LEN и INDIRECT. Иногда это может быть полезно в других формулах, которые управляют текстом на уровне символа.

В показанном примере формула C5 имеет следующий вид:

(=MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1))

Примечание: это формула массива, и ее нужно вводить с помощью Ctrl + Shift + Enter.

Объяснение

Работая изнутри наружу, функция LEN вычисляет длину строки, которая соединяется конкатенацией с «1:», создавая текстовый диапазон, подобный этому: «1: 3»

Этот текст передается в INDIRECT, который оценивает текст как ссылку и возвращает результат функции ROW. Функция СТРОКА возвращает строки, содержащиеся в ссылке в массиве чисел, подобном этому:

(1;2;3)

Обратите внимание, что у нас есть одно число для каждой буквы в исходном тексте.

Этот массив входит в функцию MID для аргумента start_num. Текст взят из столбца B, а количество символов жестко задано как 1

Наконец, с несколькими начальными числами MID возвращает несколько результатов в таком массиве.

("R";"e";"d")

Интересные статьи...