Формула Excel: Разделение предложения на слова
В Excel, как мы знаем, функция «Текст по столбцам» может разделить предложение на ячейки на основе разделителя. Однако иногда вы хотите использовать формулу для выполнения этой задачи. В этом руководстве представлена массивная формула, которая поможет вам справиться с этим.
Общая формула:
=ПСТР(" "&$TXT&" ", НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$TXT&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)+1), СТОЛБЕЦ(A1)), НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$TXT&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)), СТОЛБЕЦ(A1)+1)-НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$TXT&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)), СТОЛБЕЦ(A1))-1) |
Аргументы
Число: предложение или текстовая строка, которую вы хотите разделить на слова в отдельных ячейках. |
Как работает эта формула
Возьмем ячейку B3 в качестве примера, вы можете использовать следующую формулу:
=ПСТР(" "&$B3&" ", НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)+1), СТОЛБЕЦ(A1)), НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)), СТОЛБЕЦ(A1)+1)-НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)), СТОЛБЕЦ(A1))-1) |
Нажмите Shift + Ctrl + Enter клавиши для извлечения первого слова, затем перетащите маркер заполнения вправо, пока все слова не будут извлечены.
Объяснение
Функция ПСТР извлекает подстроку из текстовой строки на основе указанной начальной позиции и количества символов.
Функция СТРОКА возвращает номер строки, здесь мы установили её для возврата массива от 1 до 99.
Затем формулаПСТР(" "&$B2&" ", СТРОКА($1:$99), 1)
=ПСТР(" Класс A Уровень 3 Лилия Ядро", {1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 92; 93; 94; 95; 96; 97; 98; 99}, 1)
={" ";"K";"l";"a";"s";"s";" ";"A";" ";"U";"r";"o";"v";"e";"n";"ь";" ";"3";" ";"L";"i";"l";"y";" ";"Y";"a";"d";"r";"o";" ";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";
"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";""}
ПОИСК функция возвращает местоположение определенного символа или текста из заданной текстовой строки. Если строка не найдена, функция возвращает значение ошибки.
Формула ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " ")
={1;#ЗНАЧ!;#ЗНАЧ!;#ЗНАЧ!;#ЗНАЧ!;#ЗНАЧ!;1;#ЗНАЧ!;1;#ЗНАЧ!;#ЗНАЧ!;
#ЗНАЧ!;#ЗНАЧ!;#ЗНАЧ!;1;#ЗНАЧ!;1;#ЗНАЧ!;#ЗНАЧ!;#ЗНАЧ!;#ЗНАЧ!;1;
#ЗНАЧ!;#ЗНАЧ!;#ЗНАЧ!;#ЗНАЧ!;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
1;1;1;1;1}
Функция ЕОШ возвращает ИСТИНА, если значение является ошибкой.
Затем формула ЕОШ(ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " "))
={ЛОЖЬ;ИСТИНА;ИСТИНА;ИСТИНА;ИСТИНА;ИСТИНА;ЛОЖЬ;ИСТИНА;ЛОЖЬ;ИСТИНА;ИСТИНА;ИСТИНА;ИСТИНА;
ИСТИНА;ЛОЖЬ;ИСТИНА;ЛОЖЬ;ИСТИНА;ИСТИНА;ИСТИНА;ИСТИНА;ЛОЖЬ;ИСТИНА;ИСТИНА;ИСТИНА;ИСТИНА;
ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;
ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;
ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;
ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;
ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;
ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;ЛОЖЬ;
ЛОЖЬ}
ЕСЛИ функция проверяет определенное условие. Здесь у неё три аргумента, первый должен быть логическим выражением, если первый аргумент «ИСТИНА», то отображается второй аргумент, а если первый аргумент «ЛОЖЬ», то третий аргумент.
Формула ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99))
={1;"";"";"";"";"";7;"";9;"";"";"";"";"";15;"";17;"";"";"";"";22;"";"";"";"";27;28;29;30;31;32;33;34;35;
36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;
64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;
93;94;95;96;97;98;99}
Функция НАИМЕНЬШИЙ затем возвращает наименьшее значение в массиве.
Функция СТОЛБЕЦ возвращает номер столбца, в котором находится формула, или возвращает номер столбца для заданной ссылки.
Затем
НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)), СТОЛБЕЦ(A1))
={1}
Затем формула
НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)), СТОЛБЕЦ(A1)+1)- НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)), СТОЛБЕЦ(A1))
={7-1}
={6}
Затем формула
ПСТР(" "&$B3&" ", НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)+1), СТОЛБЕЦ(A1)), НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)), СТОЛБЕЦ(A1)+1)-НАИМЕНЬШИЙ(ЕСЛИ(ЕОШ(ПОИСК(ПСТР(" "&$B3&" ", СТРОКА($1:$99), 1), " ")), "", СТРОКА($1:$99)), СТОЛБЕЦ(A1))-1)
=ПСТР(" "&$B3&" ",2,6-1)
={Class}
Пример файла
Нажмите, чтобы скачать пример файла
Связанные формулы
- Извлечение с правой стороны до символа
Здесь представлены формулы для извлечения текста с правой стороны заданного текста до указанного символа. - Усечение текста до N слов
Здесь представлены формулы для извлечения n слов с левой стороны текстовой строки. - Добавление ведущих нулей для фиксированной длины
Это руководство предоставляет формулы для добавления ведущих нулей, чтобы сделать текст одинаковой длины. - Разделение долларов и центов
Для разделения долларов и центов на два столбца с помощью формул в Excel.
Связанные функции
- Функция ПСТР
Извлекает часть текста из значения ячейки на основе расположения и длины. - Функция СТОЛБЕЦ
Возвращает номер столбца, в котором находится формула, или возвращает номер столбца. - Функция СТРОКА
Получает номер строки. - Функция ПОИСК
Находит позицию определенного символа или подстроки в заданной текстовой строке. - Функция ЕСЛИ
Проверяет определенное условие.
Лучшие инструменты для повышения производительности Office
Kutools для Excel - Помогает вам выделиться из толпы
Kutools для Excel имеет более 300 функций, гарантируя, что то, что вам нужно, находится всего в одном клике...
Office Tab - Включите работу с вкладками в Microsoft Office (включая Excel)
- Одна секунда для переключения между десятками открытых документов!
- Уменьшите сотни кликов мышью каждый день, попрощайтесь с болью в руке от использования мышки.
- Увеличивает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Привносит эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.