Skip to content
В этом кратком руководстве показано, как можно быстро извлекать число из различных текстовых выражений в Excel с помощью формул или специального инструмента «Извлечь».
Проблема выделения числа из текста возникает достаточно часто, особенно когда вы работаете с данными, полученными из других программ. К примеру, нужно вытащить почтовый индекс из адреса, номенклатурный номер из строки с наименованием товара, номер счета из платежного документа. Нужное нам число может находиться в любом месте текста — в начале, в середине или в конце.
Вот что мы рассмотрим в этой статье:
- Как извлечь число в конце текста
- Получаем число из начала текста
- Как извлечь все числа из текста
- Извлекаем числа без формул при помощи Ultimate Suite
Когда дело доходит до извлечения части текстового значения заданной длины, Эксель предоставляет три текстовых функции (ЛЕВСИМВ, ПРАВСИМВ и ПСТР) для быстрого выполнения этой задачи. А вот когда дело доходит до извлечения числа из буквенно-цифровой строки, Microsoft Excel … не предоставляет ничего.
Чтобы извлечь число из текста в Excel, требуется немного изобретательности, немного терпения и множество различных функций, вложенных друг в друга.
Или вы можете запустить инструмент «Извлечь (Extract)» из надстройки Ablebits Ultimate Suite и выполнить эту операцию одним щелчком мыши. Ниже вы найдете полную информацию обо всех этих методах.
Как извлечь число из конца текстовой строки.
Если у вас есть столбец буквенно-цифровых значений, в котором число всегда идет после текста, вы можете использовать одну из следующих формул, чтобы вытащить из них числа.
Важное замечание! В приведенных ниже формулах извлечение выполняется с помощью функций ПРАВСИМВ и ЛЕВСИМВ, которые относятся к категории текстовых функций. Эти функции всегда возвращают текст. В нашем случае результатом будет числовая подстрока, которая с точки зрения Excel также является текстом, а не числом. Если вам нужно, чтобы результат был числом (которое можно использовать в дальнейших вычислениях), оберните соответствующую формулу в функцию ЗНАЧЕН, или выполните с ней простейшую математическую операцию (например, двойное отрицание).
Чтобы извлечь число из строки «текстовое число», первое, что вам нужно знать, — это с какой позиции начать операцию. Итак, давайте определим положение первой цифры с помощью этой общего выражения:
=МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9}; ячейка &”0123456789″))
О логике вычислений мы поговорим чуть позже. На данный момент просто замените слово «ячейка» ссылкой на позицию, содержащую исходный текст (в нашем случае A2), и запишите получившееся выражение в любую пустую клетку той же строки, скажем, в B2:
=МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&”0123456789″))
Хотя формула содержит константу массива, это обычное выражение, которое вводится обычным способом: нажатием клавиши Enter.
Как только позиция первой цифры определена, можно использовать функцию ПРАВСИМВ для извлечения числа. Чтобы узнать, сколько символов нужно извлечь, вы вычитаете позицию первой цифры из общей длины строки и добавляете единицу к результату, потому что первая цифра также должна быть включена:
=ПРАВСИМВ(A2;ДЛСТР(A2)-B2+1)
Где A2 – исходная ячейка, а B2 – позиция первой цифры.
На следующем скриншоте показаны результаты:
Чтобы исключить вспомогательный столбец, содержащий позицию первой цифры, вы можете встроить формулу МИН непосредственно в функцию ПРАВСИМВ следующим образом:
=ПРАВСИМВ(A2;ДЛСТР(A2)-МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&”0123456789″))+1)
Чтобы формула возвращала именно число, а не числовую строку, вложите ее в функцию ЗНАЧЕН:
=ЗНАЧЕН(ПРАВСИМВ(A2;ДЛСТР(A2)-МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&”0123456789″))+1))
Или просто примените двойное отрицание, использовав два знака «минус»:
=–ПРАВСИМВ(A2;ДЛСТР(A2)-МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&”0123456789″))+1)
Другой способ извлечь число из конца строки — использовать вот такое выражение:
=ПРАВСИМВ( ячейка ;СУММ(ДЛСТР( ячейка ) – ДЛСТР(ПОДСТАВИТЬ( ячейка ; {“0″;”1″;”2″;”3″;”4″;”5″;”6″;”7″;”8″;”9″};””))))
Используя исходный текст в A2, вы записываете приведенную ниже формулу в B2 или любую другую пустую ячейку в той же строке, а затем копируете её вниз по столбцу:
=ПРАВСИМВ(A2;СУММ(ДЛСТР(A2) – ДЛСТР(ПОДСТАВИТЬ(A2; {“0″;”1″;”2″;”3″;”4″;”5″;”6″;”7″;”8″;”9″};””))))
Примечание. Эти формулы предназначены для случая, когда числа находятся только в конце текстовой строки. Если некоторые цифры также находятся в середине или в начале, то ничего не будет работать.
Этих недостатков не имеет третья формула, которая извлекает только последнее число в тексте, игнорируя все предыдущие:
=ПРАВСИМВ(A2; ДЛСТР(A2) – МАКС(ЕСЛИ(ЕЧИСЛО(ПСТР(A2; СТРОКА(ДВССЫЛ( “1:”&ДЛСТР(A2))); 1) *1)=ЛОЖЬ; СТРОКА(ДВССЫЛ( “1:”&ДЛСТР(A2))); 0)))
На скриншоте ниже вы видите результат ее работы.
Как видите, цифры в начале или в середине текста игнорируются. Также обратите внимание, что результатом, как и в предыдущих формулах, является число, записанное в виде текста. Как превратить его в нормальное число, мы уже рассмотрели выше в этой статье.
Примечание. Если вы используете Excel 2019 или более ранние версии, нужно использовать формулу массива, нажав при вводе комбинацию Ctrl+Shift+Enter
. Если у вас Office365, вводите как обычно, через Enter
.
Как извлечь число из начала текстовой строки
Если вы работаете со строками, в которых текст находится после числа, решение для извлечения числа будет аналогично описанному выше. С той только разницей, что вы используете функцию ЛЕВСИМВ для извлечения из левой части текста:
=ЛЕВСИМВ( ячейка ;СУММ(ДЛСТР( ячейка )-ДЛСТР(ПОДСТАВИТЬ( ячейка ;{“0″;”1″;”2″;”3″;”4″;”5″;”6″;”7″;”8″;”9″};””))))
Используя этот метод для A2, извлекаем число при помощи такого выражения:
=ЛЕВСИМВ(A2;СУММ(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;{“0″;”1″;”2″;”3″;”4″;”5″;”6″;”7″;”8″;”9″};””))))
Это решение работает для текстовых выражений, которые содержат числа только в начале. Если некоторые цифры также находятся в середине или в конце строки, формула не будет работать.
Если вы хотите извлечь только числа слева и игнорировать остальные, воспользуйтесь другой формулой:
=ЛЕВСИМВ(A2;ПОИСКПОЗ(ЛОЖЬ;ЕЧИСЛО(–ПСТР(A2;СТРОКА($1:$94);1));0)-1)
Или чуть модифицируем, чтобы ускорить расчеты:
=ЛЕВСИМВ(A2; ПОИСКПОЗ(ЛОЖЬ; ЕЧИСЛО(ПСТР(A2; СТРОКА(ДВССЫЛ( “1:”&ДЛСТР(A2)+1)); 1) *1); 0) -1)
Если у вас Excel 2019 и ниже, вводите ее как формулу массива, используя Ctrl+Shift+Enter
. В Office365 и выше можно вводить как обычно.
Примечание. Как и в случае с функцией ПРАВСИМВ, функция ЛЕВСИМВ также возвращает числовую подстроку, которая технически является текстом, а не числом.
Как получить число из любой позиции в тексте
Если ваша задача подразумевает извлечение числа из любого места строки, вы можете использовать следующую формулу:
=СУММПРОИЗВ(ПСТР(0&A2; НАИБОЛЬШИЙ(ИНДЕКС(ЕЧИСЛО(–ПСТР(A2; СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A2))); 1)) * СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A2))); 0); СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A2))))+1; 1) * 10^СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A2)))/10)
Где A2 – исходная текстовая строка.
Для пояснения, как это работает, потребуется отдельная статья. Поэтому вы можете просто скопировать на свой рабочий лист, чтобы убедиться, что это действительно работает 🙂
Обратите внимание, что в этом случае в тексте могут находиться несколько чисел. Все они будут извлечены и объединены в единое целое.
Однако, изучив результаты, вы можете заметить один незначительный недостаток: если исходный текст в ячейке не содержит числа, формула возвращает ноль, как в строке 7 на скриншоте выше. Чтобы исправить это, вы можете заключить формулу в оператор ЕСЛИ, который проверит, содержит ли исходный текст какое-либо число. Если это так, формула извлекает это число, в противном случае возвращает пустую строку:
=ЕСЛИ(СУММ(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;{“0″;”1″;”2″;”3″;”4″;”5″;”6″;”7″;”8″;”9″};””)))>0; СУММПРОИЗВ(ПСТР(0&A2; НАИБОЛЬШИЙ(ИНДЕКС(ЕЧИСЛО(–ПСТР(A2; СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A2))); 1)) * СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A2))); 0); СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A2))))+1; 1) * 10^СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A2)))/10);””)
В отличие от всех предыдущих примеров, результатом этих формул является число. Чтобы убедиться в этом, просто обратите внимание на выровненные по правому краю значения в столбце B и усеченные ведущие нули (например, 88 вместо 088).
Если число, которое вы хотите извлечь, ограничено какими-то знаками-разделителями, то можно использовать функцию ПСТР. Рассмотрим пример, как получить номер счета из текста платежа.
Мы будем искать позицию знака «№» и позицию следующего за ним первого пробела. То, что находится между ними, как раз и будет номером счёта:
=ПСТР(ПОДСТАВИТЬ(A2;” “;””);НАЙТИ(“№”;ПОДСТАВИТЬ(A2;” “;””))+1;НАЙТИ(” “;A2;НАЙТИ(“№”;A2;1))-НАЙТИ(“№”;A2;1)-1)
На скриншоте ниже вы видите, как это работает.
Вот еще один возможный вариант вынимания числа из текста. Необходимо извлечь первое встретившееся число из текста.
Используем формулу
=ПРОСМОТР(2^64;–ЛЕВСИМВ(ПСТР(A1&”_0″;МИН(НАЙТИ({0;1;2;3;4;5;6;7;8;9};A1&”_0123456789″));15); {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15}))
или заменяем список цифр функцией:
=ПРОСМОТР(2^64;–ЛЕВСИМВ(ПСТР(A1&”_0″;МИН(НАЙТИ({0;1;2;3;4;5;6;7;8;9};A1&”_0123456789″));15); СТРОКА($A$1:$IV$16)))
Как видите, получаем только первое число, независимо от его расположения:
И еще один пример. Давайте попробуем достать все числа из текста, разграничив их каким-то разделителем. Например, дефисом “-“.
В этом случае придется использовать формулу массива:
{=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(СЦЕП(ЕСЛИ(ЕЧИСЛО(–ПСТР(A2;СТРОКА($1:$94);1));ПСТР(A2;СТРОКА($1:$94);1);” “)));” “;”-“)}
Мы нашли все числа в тексте, как вы видите на скриншоте ниже:
Откорректировав эту формулу, вы можете использовать любой другой разделитель.
Поскольку между ними есть разделители, то вы легко можете распределить эти числа в отдельные ячейки. Как это сделать — читайте в материале 8 способов разделить ячейку Excel на две или несколько.
Как выделить число из текста с помощью Ultimate Suite
Как вы только что видели, не существует простой и понятной формулы Excel для извлечения чисел из текстовой строки. Если у вас есть трудности с пониманием формул или их настройкой для ваших наборов данных, вам может понравиться этот простой способ получить число из текста в Excel.
С надстройкой Ultimate Suite, добавленной на вашу ленту Excel, вы можете быстро получить число из любой буквенно-цифровой строки:
- Перейдите на вкладку Ablebits Data > Text и нажмите Извлечь (Extract) :
- Выделите все ячейки с данными, которые нужно обработать.
- На панели инструмента «Извлечь (Extract)» установите переключатель «Извлечь числа (Extract numbers)».
- В зависимости от того, хотите ли вы, чтобы результаты были формулами или значениями, выберите поле «Вставить как формулу (Insert as formula)» или оставьте его пустым (по умолчанию).
Я советую активировать это поле, если вы хотите, чтобы извлеченные числа обновлялись автоматически, как только в исходные значения вносятся какие-либо изменения. Если нужно, чтобы результаты не зависели от будущих изменений (например, если вы планируете удалить исходные данные позже), не используйте эту опцию.
- Нажмите кнопку «Вставить результаты (Insert Results)». Готово!
Как и в предыдущем примере, результаты извлечения являются числами. Это означает, что вы можете подсчитывать, суммировать, усреднять или выполнять любые другие вычисления с ними.
Если установлен флажок «Вставить как формулу», вы увидите выражение в строке формул. Любопытно узнать, какое именно? Просто скачайте пробную версию Ultimate Suite и убедитесь сами 🙂
Если вы хотите иметь это, а также еще более 60 полезных инструментов в Excel, воспользуйтесь этой надстройкой.
Я постарался дать вам максимально полные рекомендации, какими способами можно извлечь число из текста. Конечно, они не могут охватить все возможные случаи. Поэтому если встретилось что-то особенно заковыристое — не стесняйтесь писать в комментариях. Постараюсь помочь по мере сил.
Если в тексте ячейки встречаются нечисловые знаки, то приходится извлекать текст числа (для примера из ячейки A1) специальной формулой, рассматривающей текст ячейки как массив, поэтому вводить формулы надо как формулу массива.
=ПСТР(A1;НачЧисла;ДлинаЧисла)
НачЧисла = ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1) )); 1))); 0)
Окончание числа определяем как индекс пробела в исходной строке после начала числа (которого может и не быть, поэтому добавляем пробел)
ДлинаЧисла = НАЙТИ(” “; A1&” “;НачЧисла)-НачЧисла
после подстановки получаем:
ДлинаЧисла = НАЙТИ(” “; A1&” “;ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1) )); 1))); 0))- ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1) )); 1))); 0)
Формула для текста извлечённого числа:
=ПСТР(A1; ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1) )); 1))); 0); НАЙТИ(” “; A1&” “;ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1) )); 1))); 0))-ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1) )); 1))); 0))
Формула для значения извлечённого числа:
=ЗНАЧЕН(ПСТР(A1; ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1) )); 1))); 0); НАЙТИ(” “; A1&” “;ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1) )); 1))); 0))-ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1) )); 1))); 0)))
Эти формулы не учитывают, что на разных компьютерах могут быть разные настройки для десятичного разделителя (или запятая или пробел), а в случае отсутствия цифр в строке эти формулы дают ошибку.
Заменим десятичный разделитель в числе на правильный десятичный разделитель и обработаем ошибку если в ячейке вообще нет цифр:
Формула для значения извлечённого числа:
=ЕСЛИОШИБКА( ЗНАЧЕН( ПСТР( ЕСЛИ( ПСТР(1/3; 2; 1)=”,”; ПОДСТАВИТЬ(A1; “.”; “,”); ПОДСТАВИТЬ(A1; “,”; “.”)); ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР( A1 ))); 1))); 0); НАЙТИ(” “; A1&” “; ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1) )); 1))); 0))-ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР(A1; СТРОКА( ДВССЫЛ(“1:”&ДЛСТР( A1 ))); 1))); 0))); “—-“)
Формула для текста извлечённого числа:
=ЕСЛИОШИБКА( ПСТР( ЕСЛИ( ПСТР(1/3; 2; 1)=”,”; ПОДСТАВИТЬ(A1; “.”; “,”); ПОДСТАВИТЬ(A1; “,”; “.”)); ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР( A1 ))); 1))); 0); НАЙТИ(” “; A1&” “; ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР( A1; СТРОКА( ДВССЫЛ( “1:”&ДЛСТР(A1) )); 1))); 0))-ПОИСКПОЗ( ИСТИНА; ЕЧИСЛО( ЗНАЧЕН( ПСТР(A1; СТРОКА( ДВССЫЛ(“1:”&ДЛСТР( A1 ))); 1))); 0)); “—-“)
Пример использования формул, позволяющих извлекать первое число из текстовой строки, независимо от установленного на компьютере десятичного разделителя.
Ребята, всем привет! 👋
Продолжаем изучать Excel. В этом уроке я покажу, как извлечь число из строки в Excel.
✍️ Если вы только начинаете осваивать Excel и VBA мы уверены, каждый может найти для себя что-то новое!
✨ А прежде, чем мы начнем 📣 напомню, теперь у нас на канале есть удобный рубрикатор 👉 Быстрый поиск решения. Путеводитель по Excel, а все видео 📽 предыдущих уроков доступны и на YouTube.
📢 Скачать исходник с примерами кода вы можете в конце статьи 🔽
Принимая во внимание что нужное нам число может находиться в любом месте текста — в начале, в середине или в конце я предлагаю рассмотреть несколько способов решения данной задачи.
⏩ СПОСОБ 1. Как извлечь число из конца текстовой строки
Чтобы извлечь число из строки «текстовое число», первое, что вам нужно знать, — это с какой позиции начать операцию, а затем, как только позиция первой цифры определена, можно использовать функцию ПРАВСИМВ для извлечения числа. Чтобы узнать, сколько символов нужно извлечь, вы вычитаете позицию первой цифры из общей длины строки и добавляете единицу к результату, потому что первая цифра также должна быть включена
Решение будет выглядеть следующим образом:
=–ПРАВСИМВ(A1;ДЛСТР(A1)-МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A1&”0123456789″))+1),
где A1 – исходная текстовая строка.
🔔 Другой способ извлечь число из конца строки — использовать такое выражение:
=ПРАВСИМВ(A2;СУММ(ДЛСТР(A2) – ДЛСТР(ПОДСТАВИТЬ(A2; {“0″;”1″;”2″;”3″;”4″;”5″;”6″;”7″;”8″;”9″};””))))
где A2 – исходная текстовая строка.
⚠️ ВАЖНО! Эти формулы предназначены для случая, когда числа находятся только в конце текстовой строки. Если некоторые цифры также находятся в середине или в начале, то ничего не будет работать.
⏩ СПОСОБ 2. Как извлечь число из начала текстовой строки
Решение для извлечения числа будет аналогично описанному выше. С той только разницей, что вы используете функцию ЛЕВСИМВ для извлечения из левой части текста.
Например,
=ЛЕВСИМВ(A3;СУММ(ДЛСТР(A3)-ДЛСТР(ПОДСТАВИТЬ(A3;{“0″;”1″;”2″;”3″;”4″;”5″;”6″;”7″;”8″;”9″};””))))
где A3 – исходная текстовая строка.
⚠️ ВАЖНО! Это решение работает для текстовых выражений, которые содержат числа только в начале. Если некоторые цифры также находятся в середине или в конце строки, формула не будет работать.
🔔 Альтернативным решением в данном случае является применение формулы:
=ЛЕВСИМВ(A4; ПОИСКПОЗ(ЛОЖЬ; ЕЧИСЛО(ПСТР(A4; СТРОКА(ДВССЫЛ( “1:”&ДЛСТР(A4)+1)); 1) *1); 0) -1)
где A4 – исходная текстовая строка.
⚠️ ЧТО ВАЖНО! Т.к. приведенная выше формула является формулой массива вводить ее нужно используя Ctrl+Shift+Enter
⏩ СПОСОБ 3. Как извлечь число из любой позиции в тексте
Если ваша задача подразумевает извлечение числа из любого места строки, вы можете использовать следующую формулу:
=СУММПРОИЗВ(ПСТР(0&A5; НАИБОЛЬШИЙ(ИНДЕКС(ЕЧИСЛО(–ПСТР(A5; СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A5))); 1)) * СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A5))); 0); СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A5))))+1; 1) * 10^СТРОКА(ДВССЫЛ(“1:”&ДЛСТР(A5)))/10)
где A5 – исходная текстовая строка.
🔔 Альтернативным решением, (и на мой взгляд самым привлекательным из рассмотренных) является использование пользовательской функции.
Для ее написания переходим в редактор BVA, где прописываем следующий код:
Далее, используем нашу функцию для того чтобы получить число из любой позиции в тексте:
А на этом сегодня все. 👏 Теперь вы знаете как извлечь число из строки в Excel.. Я надеюсь, что вы нашли этот урок полезным.
Продолжение следует…
Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel. Следите за нашими новостями и вы узнаете больше о VBA и Excel в частности.
📝 Нам очень важна Ваша обратная связь. Отзыв по уроку и любые вопросы пишите в комментариях.
💝 А если у Вас пока нет вопросов, но вы дочитали данную статью до конца оставьте в комментариях просто смайлик 😉 (автору будет приятно)
И конечно же, за лайк 👍 и репост 🔁 данного поста благодарочка 💖 и респект 🤝 каждому!
➡️ СКАЧАТЬ ПРИМЕР ФАЙЛА
Функции поиска и замены в Excel используются для поиска в книге необходимой информации, например определенного числа или текстовой строки. Вы можете либо найти элемент поиска для справки, либо заменить его на что-то другое. В условия поиска можно включить подстановочные знаки, такие как вопросительные знаки, тильды и звездочки, а также цифры. Искать можно по строкам и столбцам, в примечаниях или значениях, а также на листе или во всей книге.
Поиск
Чтобы найти что-то, нажмите клавиши CTRL+F или перейдите в раздел Главная > Редактирование > найти & Выберите > Найти.
Примечание: В следующем примере мы нажали кнопку Параметры >> , чтобы отобразить все диалоговое окно Поиск. По умолчанию он отображается со скрытыми параметрами.
-
В поле Найти что: введите текст или цифры, которые вы хотите найти, или щелкните стрелку в поле Найти что: и выберите последний элемент поиска из списка.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит “sat” и “set”.
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова “sad” и “started”.
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит “fy91?”.
-
-
Нажмите кнопку Найти все или Найти далее , чтобы выполнить поиск.
Совет: При нажатии кнопки Найти все будут перечислены все вхождения условий, которые вы ищете, а щелкнув определенное вхождение в списке, будет выбрана его ячейка. Вы можете отсортировать результаты поиска Найти все , щелкнув заголовок столбца.
-
Щелкните Параметры>> , чтобы при необходимости определить поиск:
-
В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.
-
Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.
Примечание: Формулы, значения, заметки и примечания доступны только на вкладке Найти . На вкладкеЗаменить доступны только формулы.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
-
-
Если вы хотите найти текст или цифры с определенным форматированием, нажмите кнопку Формат, а затем выберите нужные значения в диалоговом окне Поиск формата .
Совет: Чтобы найти ячейки, точно соответствующие определенному формату, можно удалить все условия в поле Найти, а затем выбрать ячейку с нужным форматированием в качестве примера. Щелкните стрелку рядом с кнопкой Формат, выберите пункт Выбрать формат из ячейки, а затем щелкните ячейку с форматированием, которое требуется найти.
Заменить
Чтобы заменить текст или цифры, нажмите клавиши CTRL+H или перейдите в раздел Главная > Редактирование > Найти & Выберите > Заменить.
Примечание: В следующем примере мы нажали кнопку Параметры >> , чтобы отобразить все диалоговое окно Поиск. По умолчанию он отображается со скрытыми параметрами.
-
В поле Найти что: введите текст или цифры, которые вы хотите найти, или щелкните стрелку в поле Найти что: и выберите последний элемент поиска из списка.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит “sat” и “set”.
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова “sad” и “started”.
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит “fy91?”.
-
-
В поле Заменить на введите текст или числа, которые нужно использовать для замены текста поиска.
-
Нажмите Заменить все или Заменить.
Совет: При нажатии кнопки Заменить все все вхождения условий, которые вы ищете, будут заменены, в то время как Replace будет обновлять одно вхождение за раз.
-
Щелкните Параметры>> , чтобы при необходимости определить поиск:
-
В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.
-
Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.
Примечание: Формулы, значения, заметки и примечания доступны только на вкладке Найти . На вкладкеЗаменить доступны только формулы.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
-
-
Если вы хотите найти текст или цифры с определенным форматированием, нажмите кнопку Формат, а затем выберите нужные значения в диалоговом окне Поиск формата .
Совет: Чтобы найти ячейки, точно соответствующие определенному формату, можно удалить все условия в поле Найти, а затем выбрать ячейку с нужным форматированием в качестве примера. Щелкните стрелку рядом с кнопкой Формат, выберите пункт Выбрать формат из ячейки, а затем щелкните ячейку с форматированием, которое требуется найти.
Существует два разных метода поиска или замены текста или чисел на компьютере Mac. Во-первых, используется диалоговое окно “Найти & заменить “. Во-вторых, используется панель поиска на ленте.
Диалоговое окно “Поиск & замена “
Панель поиска и параметры
-
Нажмите клавиши CTRL+F или выберите Главная > Найти & Выберите > Найти.
-
В поле Найти: введите текст или цифры, которые нужно найти.
-
Нажмите кнопку Найти далее , чтобы выполнить поиск.
-
Вы можете дополнительно определить поиск:
-
В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.
-
Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
-
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит “sat” и “set”.
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова “sad” и “started”.
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит “fy91?”.
-
Нажмите клавиши CTRL+F или выберите Главная > Найти & Выберите > Найти.
-
В поле Найти: введите текст или цифры, которые нужно найти.
-
Выберите Найти все , чтобы выполнить поиск всех вхождений.
Примечание: Диалоговое окно разворачивается, чтобы отобразить список всех ячеек, содержащих условие поиска, и общее количество ячеек, в которых оно отображается.
-
Выберите любой элемент в списке, чтобы выделить соответствующую ячейку на листе.
Примечание: Вы можете изменить содержимое выделенной ячейки.
-
Нажмите клавиши CTRL+H или перейдите на главную страницу > Найти & выберите > Заменить.
-
В поле Найти введите текст или цифры, которые требуется найти.
-
Вы можете дополнительно определить поиск:
-
В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит “sat” и “set”.
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова “sad” и “started”.
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит “fy91?”.
-
-
-
В поле Заменить на введите текст или числа, которые вы хотите использовать для замены текста поиска.
-
Выберите Заменить или Заменить все.
Советы:
-
При нажатии кнопки Заменить все все вхождения ищемого условия будут заменены.
-
При нажатии кнопки Заменить можно заменить один экземпляр за раз, нажав кнопку Далее , чтобы выделить следующий экземпляр.
-
-
Выберите любую ячейку для поиска по всему листу или выберите определенный диапазон ячеек для поиска.
-
Нажмите клавиши COMMAND+F или выберите лупу, чтобы развернуть панель поиска и ввести текст или число, которые нужно найти в поле поиска.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит “sat” и “set”.
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова “sad” и “started”.
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит “fy91?”.
-
-
Нажмите клавишу RETURN.
Примечания:
-
Чтобы найти следующий экземпляр элемента, который вы ищете, снова нажмите клавишу RETURN или в диалоговом окне Найти и выберите Найти далее.
-
Чтобы указать дополнительные параметры поиска, выберите увеличительное стекло и выберите Поиск на листе или Поиск в книге. Можно также выбрать параметр Дополнительно , который открывает диалоговое окно Поиск .
Совет: Вы можете отменить выполняемый поиск, нажав клавишу ESC.
-
Поиск
Чтобы найти что-то, нажмите клавиши CTRL+F или перейдите в раздел Главная > Редактирование > найти & Выберите > Найти.
Примечание: В следующем примере мы щелкнули > Параметры поиска , чтобы отобразить все диалоговое окно Поиск. По умолчанию отображается со скрытыми параметрами поиска.
-
В поле Найти что: введите текст или числа, которые нужно найти.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит “sat” и “set”.
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова “sad” и “started”.
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит “fy91?”.
-
-
Нажмите кнопку Найти далее или Найти все , чтобы выполнить поиск.
Совет: При нажатии кнопки Найти все будут перечислены все вхождения условий, которые вы ищете, а щелкнув определенное вхождение в списке, будет выбрана его ячейка. Вы можете отсортировать результаты поиска Найти все , щелкнув заголовок столбца.
-
Щелкните > Параметры поиска , чтобы при необходимости дополнительно определить поиск:
-
В: Чтобы найти данные в пределах определенного выделенного фрагмента, нажмите кнопку Выбор. Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Направление: Вы можете выполнить поиск вниз (по умолчанию) или вверх.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти .
-
Заменить
Чтобы заменить текст или цифры, нажмите клавиши CTRL+H или перейдите в раздел Главная > Редактирование > Найти & Выберите > Заменить.
Примечание: В следующем примере мы щелкнули > Параметры поиска , чтобы отобразить все диалоговое окно Поиск. По умолчанию отображается со скрытыми параметрами поиска.
-
В поле Найти что: введите текст или числа, которые нужно найти.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит “sat” и “set”.
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова “sad” и “started”.
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит “fy91?”.
-
-
В поле Заменить на введите текст или числа, которые нужно использовать для замены текста поиска.
-
Щелкните Заменить или Заменить все.
Совет: При нажатии кнопки Заменить все все вхождения условий, которые вы ищете, будут заменены, в то время как Replace будет обновлять одно вхождение за раз.
-
Щелкните > Параметры поиска , чтобы при необходимости дополнительно определить поиск:
-
В: Чтобы найти данные в пределах определенного выделенного фрагмента, нажмите кнопку Выбор. Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Направление: Вы можете выполнить поиск вниз (по умолчанию) или вверх.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти .
-
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Рекомендуемые статьи
Объединение и отмена объединения ячеек
ЗАМЕНИТЬ, ЗАМЕНИТЬБ
Применение проверки данных к ячейкам
- Формула для определения цифр в ячейке
- Макрос “Обнаружить цифры” в !SEMTools
- Как в Excel из всех цифр найти только определённые нужные цифры
- Найти нужные цифры с помощью регулярных выражений в !SEMTools
- Найти нужные цифры формулой
- Найти определённые отдельные слова-числа в тексте
- Преобразовать числа в текст
- Заключение
Периодически возникает ситуация, когда нужно найти в диапазоне ячеек числа, но они могут быть вперемешку с текстом, что сильно затрудняет такой поиск.
Прежде всего, определимся с понятиями. Обнаружить в общем случае это выявить, существует или не существует искомое значение в ячейке. Результатом срабатывания такой функции будет булевое значение — ИСТИНА или ЛОЖЬ.
Если же мы захотим не только обнаружить в ячейке цифры, но и произвести дополнительные действия, об этом можно почитать в других разделах:
- извлечь цифры из текста в Excel;
- удалить цифры из ячеек.
Цифры – это собирательное понятие, включающее в себя целый десяток символов. Чтобы обнаружить, содержит ли ячейка цифры, нужно сделать 10 проверок — по 1 на каждую цифру — 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Один из примеров такого “подхода в лоб” использован в описании функции ЕСЛИ на этом сайте.
Но есть ли способ заменить 10 проверок 1 проверкой, которая включала бы их все?
К сожалению, простой функции в Excel нет, но можно комбинировать несколько формул, в том числе формулу массива, чтобы получить необходимый результат.
Формула для определения цифр в ячейке
Формула ниже вернёт ИСТИНА или ЛОЖЬ, не самый простой и запоминающийся синтаксис, однако отлично справляется с задачей.
=СЧЁТ(ПОИСК({1:2:3:4:5:6:7:8:9:0};A1))>0
Синтаксис функции тот же, что и для поиска кириллицы или латиницы в тексте.
Пожалуй, наиболее простое решение, доступное после подключения !SEMTools к Excel. Копируем исходный столбец, применяем макрос и получаем результат на месте.
Как в Excel из всех цифр найти только определённые нужные цифры
Чтобы найти только нужные цифры, например, только чётные или только нечётные, есть два способа — с помощью регулярных выражений и с помощью адаптации формулы выше.
Найти нужные цифры с помощью регулярных выражений в !SEMTools
Пользователям надстройки !SEMTools доступны возможности использования функций регулярных выражений. Синтаксис довольно прост — перечисляем в квадратных скобках любые нужные вам цифры и жмем ОК. С его же помощью можно найти латиницу или обнаружить заглавные буквы.
Найти нужные цифры формулой
Можно адаптировать под задачу сложную формулу массива, описанную выше, использующую функции СЧЁТ и ПОИСК, выглядеть будет так:
=СЧЁТ(ПОИСК({2:4:6:8:0};A1))>0
Она же позволяет находить не только цифры, но и числовые последовательности любой длины.
=СЧЁТ(ПОИСК({01:02:03:911:112};A1))>0
Найти определённые отдельные слова-числа в тексте
Иногда поиск чисел осложняется тем, что важно найти их не по вхождению в ячейку, а по точному совпадению конкретного числа. По сути в таком случае число будет считаться словом и нужно найти слово в ячейке, а если таких чисел несколько — найти слова из списка. Соответствующие процедуры !SEMTools позволяют это сделать.
На примере ниже мы ищем 1 как отдельное слово, при этом пропуская числа, содержащие его (например, 10).
Преобразовать числа в текст
Иногда нужно не только найти числа в тексте, но преобразовать числа в текст, а возможно, и изменить морфологию полученного текста. Смотрите, как это сделать, в соответствующих разделах:
- Число прописью в Excel;
- Склонение чисел в Excel.
Заключение
Надеюсь, этот раздел помог вам решить задачу поиска нужных цифр и чисел в ячейках. Если нет — смело обращайтесь к автору надстройки и этого сайта. Наверняка после обнаружения необходимых данных вам потребуется их извлечь, удалить или как-то изменить — обращайтесь к соответствующим разделам сайта, чтобы выяснить, как это сделать.
Столкнулись с необходимостью найти цифры в ячейках Excel?
Скачайте !SEMTools и решите эту и сотни других задач за пару кликов!