Поиск первого числа в строке excel
Предположим, что в ячейке есть буквы, цифры и другие символы, как вы могли быстро узнать первое число или все числа из этой ячейки в Excel? В этой статье описаны три уловки, чтобы легко ее решить.
- Найдите первое число и его позицию в текстовой строке с помощью формулы
- Найдите все числа в текстовой строке, удалив все нечисловые символы
- Найти все числа в текстовой строке, извлекая только числа
Найдите первое число и его позицию в текстовой строке с помощью формулы
Этот метод вводит некоторые формулы для поиска и извлечения первого числа в текстовой строке, а также выясняет положение первого числа в текстовой строке.
Найдите и извлеките первое число в текстовой строке с помощью формулы массива
Выберите пустую ячейку, в которой вы хотите вернуть первое число из текстовой строки, введите формулу =MID(A2,MIN(IF((ISNUMBER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)+0)*ROW(INDIRECT("1:"&LEN(A2)))),ISNUMBER(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)+0)*ROW(INDIRECT("1:"&LEN(A2))))),1)+0 (A2 - это текстовая ячейка, в которой вы будете искать первое число) в нее и нажмите Ctrl + Shift + Enter клавиши одновременно. А затем перетащите маркер заполнения этой ячейки в нужный диапазон.
Формула слишком сложна для запоминания? Сохраните формулу как запись Auto Text для повторного использования одним щелчком мыши в будущем! Подробнее . Бесплатная пробная версия |
Затем определяются и извлекаются первые числа каждой текстовой строки, как показано ниже:
Найдите позицию первого числа в текстовой строке с формулами
Выберите пустую ячейку, в которой вы вернете позицию первого числа, и введите формулу = MIN (IF (ISNUMBER (FIND (; A2))), FIND (, АXNUMX))) (A2 - это текстовая ячейка, в которой вы будете искать позицию первого числа) в нее, а затем перетащите ее маркер заполнения в нужный диапазон. См. Скриншоты ниже:
Внимание: Эта формула массива = МИН (НАЙТИ (, A2 & ) ) также может получить позицию первого числа. После ввода этой формулы массива нажмите клавишу Ctrl + Shift + Enter клавиши одновременно, чтобы получить результат.
Найдите все числа в текстовой строке, удалив все нечисловые символы
Если из текстовой строки можно удалить все символы, кроме чисел, мы легко найдем все числа в этой текстовой строке. Kutools для Excel Удалить символы утилита может помочь вам легко решить эту проблему.
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
1. Выберите диапазон, в котором вы найдете все числа в каждой текстовой ячейке, и щелкните значок Кутулс > Текст > Удалить символы. Смотрите скриншот:
2. В открывшемся диалоговом окне удаления символов установите только флажок Нечисловой и нажмите Ok кнопку.
Теперь все нечисловые символы удаляются из выбранных ячеек, и остаются только числа.
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
Найти все числа в текстовой строке, извлекая только числа
На самом деле, Kutools for Excel's ВЫДЕРЖКИ Функция может помочь вам легко извлечь все числа из текстовой ячейки.
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
1. Выберите пустую ячейку, в которую вы хотите вывести извлеченные числа, и щелкните значок Кутулс > функции > Текст > ВЫДЕРЖКИ. Смотрите скриншот:
2. В открывшемся диалоговом окне «Аргументы функции» укажите текстовую ячейку в Текст поле, введите ИСТИНА в N и нажмите OK кнопка. Смотрите скриншот:
Заметки:
(1) Вводить необязательно ИСТИНА, НЕПРАВДА, или ничего в N коробка. Если вы напечатаете НЕПРАВДА или ничего в N поле, эта функция будет возвращать числа, сохраненные в виде текста, а ИСТИНА вернет числовые числа.
(2) Фактически, вы можете ввести формулу = EXTRACTNUMBERS (A2; ИСТИНА) в пустую ячейку, чтобы извлечь все числа из выбранных ячеек.
Теперь вы увидите, что все числа извлечены из каждой текстовой ячейки, как показано ниже:
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
Пакетное разделение текста и чисел из одной ячейки / столбца на разные столбцы / строки
Kutools for Excel улучшает Разделить клетки утилита и поддерживает пакетное разделение всех текстовых символов и чисел одной ячейки / столбца на два столбца / строки. Полнофункциональная бесплатная 30-дневная пробная версия!
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
Демо: найти все числа в строке в Excel
Получить первое непустое значение в столбце или строке
Чтобы получить первое значение (первая ячейка, которая не пуста, без учета ошибок) из диапазона из одного столбца или одной строки, вы можете использовать формулу, основанную на ИНДЕКС и МАТЧ функции. Однако, если вы не хотите игнорировать ошибки из вашего диапазона, вы можете добавить функцию ISBLANK к приведенной выше формуле.
Получить первое непустое значение в столбце или строке, игнорируя ошибки
Чтобы получить первое непустое значение в списке как показано выше игнорирование ошибок, вы можете использовать функцию ИНДЕКС, чтобы найти непустые ячейки. Затем вы можете использовать ПОИСКПОЗ, чтобы найти его положение, и которое будет передано в другой ИНДЕКС, чтобы получить значение в этой позиции.
Общий синтаксис
=INDEX( range ,MATCH(TRUE,INDEX(( range <>0),0),0))
- ассортимент: Диапазон из одного столбца или одной строки, в котором должна быть возвращена первая непустая ячейка с текстовыми или числовыми значениями при игнорировании ошибок.
Чтобы получить первое непустое значение в списке без учета ошибок, скопируйте или введите формулу ниже в ячейку E4 и нажмите Enter чтобы получить результат:
= ИНДЕКС ( B4: B15 , ПОИСКПОЗ (ИСТИНА; ИНДЕКС (( B4: B15 <> 0), 0), 0))
Пояснение формулы
=INDEX(B4:B15, MATCH(TRUE, INDEX((B4:B15<>0),0) ,0) )
- ИНДЕКС ((B4: B15 <> 0), 0) : Фрагмент оценивает каждое значение в диапазоне B4: B15. Если ячейка пуста, она вернет FLASE; Если ячейка содержит ошибку, сниппет сам вернет ошибку; И если ячейка содержит число или текст, будет возвращено ИСТИНА. Поскольку row_num аргумент этой формулы ИНДЕКС: 0, поэтому фрагмент вернет массив значений для всего столбца следующим образом: .
- МАТЧ (ИСТИНА; ИНДЕКС ((B4: B15 <> 0), 0) , 0) = МАТЧ (ИСТИНА; , 0) :match_type 0 заставляет функцию ПОИСКПОЗ возвращать позицию первого точного ИСТИНА в массиве. Итак, функция вернет 3.
- ИНДЕКС (B4: B15, МАТЧ (ИСТИНА; ИНДЕКС ((B4: B15 <> 0), 0) , 0) ) = ИНДЕКС (B4: B15; 3 ): Затем функция ИНДЕКС возвращает 3rd значение в диапазоне B4: B15, Которая является extendoffice.
Получить первое непустое значение в столбце или строке, включая ошибки
Чтобы получить первое непустое значение в списке, включая ошибки, вы можете просто использовать функцию ISBLANK, чтобы проверить ячейки в списке, являются ли они пустыми или нет. Затем ИНДЕКС вернет первое непустое значение в соответствии с позицией, предоставленной ПОИСКПОЗ.
Общий синтаксис
=INDEX( range ,MATCH(FALSE,ISBLANK( range ),0))
√ Примечание. Это формула массива, требующая ввода с помощью Ctrl + Shift + Enter.
- ассортимент: Диапазон из одного столбца или одной строки, в котором должна быть возвращена первая непустая ячейка с текстом, числами или значениями ошибки.
Чтобы получить первое непустое значение в списке, включая ошибки, скопируйте или введите формулу ниже в ячейку E7 и нажмите Ctrl + Shift + Enter чтобы получить результат:
= ИНДЕКС ( B4: B15 , ПОИСКПОЗ (ЛОЖЬ; ЕСТЬ ПУСТО ( B4: B15 ), 0))
Пояснение формулы
=INDEX(B4:B15, MATCH(FALSE, ISBLANK(B4:B15) ,0) )
Связанные функции
Функция ИНДЕКС Excel возвращает отображаемое значение на основе заданной позиции из диапазона или массива.
Функция ПОИСКПОЗ в Excel ищет определенное значение в диапазоне ячеек и возвращает относительное положение значения.
Связанные формулы
Если вам нужно найти информацию, указанную в Excel, о конкретном продукте, фильме или человеке и т. Д., Вы должны хорошо использовать комбинацию функций ИНДЕКС и ПОИСКПОЗ.
Чтобы получить первое текстовое значение из диапазона с одним столбцом, вы можете использовать формулу, основанную на функциях ИНДЕКС и ПОИСКПОЗ, а также формулу, основанную на функции ВПР.
Есть случаи, когда вам нужно получить позицию первого частичного совпадения, которое содержит определенное число в диапазоне числовых значений в Excel. В этом случае формула ПОИСКПОЗ и ТЕКСТ, содержащая звездочку (*), подстановочный знак, который соответствует любому количеству символов, окажет вам услугу. И если вам также нужно знать точное значение в этой позиции, вы можете добавить в формулу функцию ИНДЕКС.
Есть случаи, когда вам нужно получить позицию первого частичного совпадения, которое содержит определенное число в диапазоне числовых значений в Excel. В этом случае формула ПОИСКПОЗ и ТЕКСТ, содержащая звездочку (*), подстановочный знак, который соответствует любому количеству символов, окажет вам услугу. И если вам также нужно знать точное значение в этой позиции, вы можете добавить в формулу функцию ИНДЕКС.
Лучшие инструменты для работы в офисе
Kutools for Excel - поможет вам выделиться из толпы
Хотите быстро и безупречно выполнять свою повседневную работу? Kutools for Excel предлагает мощные расширенные функции 300 (объединение книг, сумма по цвету, разделение содержимого ячеек, дата преобразования и т. Д.) И экономия 80% времени для вас.
Периодически возникает ситуация, когда нужно найти в диапазоне ячеек числа, но они могут быть вперемешку с текстом, что сильно затрудняет такой поиск.
Найти цифры в ячейке — желаемый результат
Прежде всего, определимся с понятиями. Обнаружить в общем случае это выявить, существует или не существует искомое значение в ячейке. Результатом срабатывания такой функции будет булевое значение — ИСТИНА или ЛОЖЬ.
Если же мы захотим не только обнаружить в ячейке цифры, но и произвести дополнительные действия, об этом можно почитать в других разделах:
Цифры — это собирательное понятие, включающее в себя целый десяток символов. Чтобы обнаружить, содержит ли ячейка цифры, нужно сделать 10 проверок — по 1 на каждую цифру — 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Один из примеров такого «подхода в лоб» использован в описании функции ЕСЛИ на этом сайте.
Но есть ли способ заменить 10 проверок 1 проверкой, которая включала бы их все?
К сожалению, простой функции в Excel нет, но можно комбинировать несколько формул, в том числе формулу массива, чтобы получить необходимый результат.
Формула для определения цифр в ячейке
Формула ниже вернет ИСТИНА или ЛОЖЬ, не самый простой и запоминающийся синтаксис, однако отлично справляется с задачей.
Макрос «Обнаружить цифры» в !SEMTools
Пожалуй, наиболее простое решение, доступное после подключения !SEMTools к Excel. Копируем исходный столбец, применяем макрос и получаем результат на месте.
Как в Excel из всех цифр найти только определенные нужные цифры
Чтобы найти только нужные цифры, например, только четные или только нечетные, есть два способа — с помощью регулярных выражений и с помощью адаптации формулы выше.
Найти нужные цифры с помощью регулярных выражений в !SEMTools
Пользователям надстройки !SEMTools доступны возможности использования функций регулярных выражений. Синтаксис довольно прост — перечисляем в квадратных скобках любые нужные вам цифры и жмем ОК. С его же помощью можно найти латиницу или обнаружить заглавные буквы.
Находим только ячейки с четными цифрами в Excel с !SEMTools
Найти нужные цифры формулой
Можно адаптировать под задачу сложную формулу массива, описанную выше, использующую функции СЧЁТ и ПОИСК, выглядеть будет так:
Она же позволяет находить не только цифры, но и числовые последовательности любой длины.
Найти определенные отдельные слова-числа в тексте
Иногда поиск чисел осложняется тем, что важно найти их не по вхождению в ячейку, а по точному совпадению конкретного числа. По сути в таком случае число будет считаться словом и нужно найти слово в ячейке, а если таких чисел несколько — найти слова из списка. Соответствующие процедуры !SEMTools позволяют это сделать.
На примере ниже мы ищем 1 как отдельное слово, при этом пропуская числа, содержащие его (например, 10).
Ищем отдельно стоящее число в тексте
Преобразовать числа в текст
Иногда нужно не только найти числа в тексте, но преобразовать числа в текст, а возможно, и изменить морфологию полученного текста. Смотрите, как это сделать, в соответствующих разделах:
Заключение
Надеюсь, этот раздел помог вам решить задачу поиска нужных цифр и чисел в ячейках. Если нет — смело обращайтесь к автору надстройки и этого сайта. Наверняка после обнаружения необходимых данных вам потребуется их извлечь, удалить или как-то изменить — обращайтесь к соответствующим разделам сайта, чтобы выяснить, как это сделать.
Столкнулись с необходимостью найти цифры в ячейках Excel?
Скачайте !SEMTools и решите эту и сотни других задач за пару кликов!
Функция ПОИСК в Excel — примеры
Раздел функций | Текстовые |
Название на английском | SEARCH |
Волатильность | Не волатильная |
Похожие функции | НАЙТИ (функция), поиск и замена (процедура) |
Что делает функция ПОИСК?
Эта функция аналогична функции НАЙТИ и так же ищет подстроку в строке. Когда искомое найдено, отображается его позиция в тексте в виде числа.
Отличие от функции НАЙТИ в том, что ПОИСК не принимает в расчет регистр текста. Как искомого, так и того, в котором мы ищем.
Есть также процедура Найти и Заменить в Excel — у нее есть свои преимущества, такие, как подстановочные операторы.
Синтаксис
- ИскомыйТекст — символ или сочетание, которое ищем
- СтрокаВКоторойИщем — ячейка, текстовое значение или любое возвращаемое другой функцией выражение.
- Стартовая позиция — опциональный параметр, при отсутствии поиск происходит с первого символа
Если текст содержит более одного вхождения, возвращается позиция первого.
Третий (опциональный) параметр используется для поиска с определенной позиции в тексте и по умолчанию равен 1.
Форматирование
При поиске дат функция ПОИСК, как и все текстовые функции, воспринимает их как числа, поэтому для корректного поиска может понадобиться функция ТЕКСТ.
При этом логические значения ИСТИНА и ЛОЖЬ конвертируются в текст, соответствующий их написанию.
Поиск символа в ячейке
Наиболее простой пример использования функции — осуществление поиска определенного символа в ячейке.
Логика проста — если поиск позиции символа не возвращает ошибку, значит, символ в ячейке присутствует:
Поиск символа в ячейке формулой ПОИСК
Извлечь первое слово
В этом простейшем примере извлекаем первое слово из ячейки с помощью комбинации — функция ЛЕВСИМВ + функция ПОИСК. Поскольку пробел — регистронезависимый символ, для этого случая можно использовать и функцию НАЙТИ.
Определяем номер позиции первого пробела и возвращаем символы до этой позиции
Таблица выше была использована для извлечения имени из строки с именем и фамилией.
- ПОИСК возвращает позицию пробела между именем и фамилией.
- Длина имени вычисляется как позиция пробела минус 1. извлекает имя на основе его длины.
Другие примеры использования
Найти первую цифру в ячейке:
Найти первую цифру в ячейке и вернуть все, что перед ней:
Узнать, содержит ли ячейка латиницу. Формула вернет «ИСТИНА» или «ЛОЖЬ»:
Функция ПОИСК в формуле массива
Примеры выше, где буквы перечислены явно в строковом массиве, занимает довольно много места. Буквы при этом идут подряд, что наводит на мысль, что их можно как-то иначе выразить как диапазон.
И действительно, это возможно с помощью комбинации с функциями СТРОКА и ПОИСК:
Отличие этой формулы массива от предыдущих — ее нужно вводить без фигурных скобок, они появятся при вводе формулы сочетанием Ctrl + Shift + Enter (вместо обычного Enter ). В формуле выше, где явно прописаны все буквы, фигурные скобки вводятся вручную — это явное указание строкового массива.
Что происходит в этой формуле?
- Функция СТРОКА с численным аргументом «65:90» возвращает массив чисел с 65 по 90 включительно. Как раз в этом диапазоне в таблице ASCII находятся все символы латиницы; возвращает для каждого числового значения в этом массиве его символ, таким образом создавая массив латинских символов;
- Функция ПОИСК производит поиск каждого из этих символов в строке и возвращает либо число, либо ошибку, таким образом создавая массив чисел и ошибок
- Функция СЧЁТ считает числовые значения в полученном массиве. Если результат больше нуля, значит, хотя бы один символ латиницы был найден. Если нет (все поиски вернули ошибку), значит, не был
Аналогичная формула для кириллицы:
Подробнее о поиске и извлечении кириллицы и латиницы в Excel можно почитать тут:
Есть еще множество комбинаций функции ПОИСК с другими функциями Excel, смотрите разделы:
Функция ИЛИ
Функция И
Функция ЗНАЧЕН
Удалить первое слово в ячейке Excel
Основное назначение этой функции в том, чтобы искать позицию заданного элемента в наборе значений. Чаще всего она применяется для поиска порядкового номера ячейки в диапазоне, где лежит нужное нам значение.
Синтаксис этой функции следующий:
=ПОИСКПОЗ( Что_ищем ; Где_ищем ; Режим_поиска )
- Что_ищем - это значение, которое надо найти
- Где_ищем - это одномерный диапазон или массив (строка или столбец), где производится поиск
- Режим_поиска - как мы ищем: точно (0), с округлением в большую строну (-1) или в меньшую сторону (1)
Давайте рассмотрим несколько полезных вариантов ее применения на практике.
Точный поиск
Классический сценарий - поиск точного текстового совпадения для нахождения позиции нужного нам текста или числа в списке:
Поиск первой или последней текстовой ячейки
Если в качестве искомого значения задать звездочку, то функция будет искать первую ячейку с текстом и выдавать её позицию. Для поиска последней текстовой ячейки можно изменить третий аргумент Режим_поиска с нуля на минус 1:
Числа и пустые ячейки в этом случае игнорируются.
Поиск ближайшего числа или даты
Если последний аргумент задать равным 1 или -1, то можно реализовать поиск ближайшего наименьшего или наибольшего числа. Таблица при этом обязательно должна быть отсортирована по возрастанию или убыванию соответственно. В общем и целом, это чем-то похоже на интервальный просмотр у функции ВПР (VLOOKUP) , но там возможен только поиск ближайшего наименьшего, а здесь - есть выбор.
Например, нам нужно выбрать генератор из прайс-листа для расчетной мощности в 47 кВт. Если последний аргумент задать равным 1 и отсортировать таблицу по возрастанию, то мы найдем ближайшую наименьшую по мощности модель (Зверь):
Если же третий аргумент равен -1 и таблица отсортирована по убыванию, то мы найдем ближайшую более мощную модель (Бомба):
Связка функций ПОИСКПОЗ и ИНДЕКС
Очень часто функция ПОИСКПОЗ используется в связке с другой крайне полезной функцией - ИНДЕКС (INDEX) , которая умеет извлекать данные из диапазона по номеру строки-столбца, реализуя, фактически, "левый ВПР".
Так, в предыдущем примере получить не номер, а название модели генератора можно очень легко:
Ну, и поскольку Excel внутри хранит и обрабатывает даты как числа, то подобный подход на 100% работает и с датами. Например, мы можем легко определить на каком этапе сейчас находится наш проект:
Принципиальное ограничение функции ПОИСКПОЗ состоит в том, что она умеет искать только в одномерных массивах (т.е. строчке или столбце), но никто не запрещает использовать сразу два ПОИСКПОЗа вложенных в ИНДЕКС, чтобы реализовать двумерный поиск по строке и столбцу одновременно:
Читайте также: