Поиск ячеек содержащих текст excel

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Предположим, вам нужно убедиться, что столбец содержит текст, а не числа. Или, возможно, вам нужно найти все заказы, соответствующие конкретному продавцу. Если вы не беспокоите текст в верхнем или нижнем регистре, можно проверить, содержит ли ячейка текст несколькими способами.

Для поиска текста также можно использовать фильтр. Дополнительные сведения см. в теме Фильтрация данных.

Поиск ячеек, содержащих текст

Чтобы найти ячейки, содержащие определенный текст, выполните указанные здесь действия.

  1. Вы диапазон ячеек, в которые нужно в поиске.

    Чтобы найти результат поиска на всем из них, щелкните любую ячейку.

  2. На вкладке Главная в группе Редактирование нажмите кнопку Найти и & выберите, а затем нажмите кнопку Найти.

    Параметр "Найти" на ленте

  3. В поле Найти введите текст (или числа), который нужно найти. Вы также можете выбрать недавний поиск в поле Найти.

    Примечание: В условиях поиска можно использовать поддеревные знаки.

  4. Чтобы указать формат поиска, нажмите кнопку Формат и сделайте выбор во всплыващем окне Найти формат.

  5. Нажмите кнопку Параметры, чтобы дополнительно определить поиск. Например, можно найти все ячейки, содержащие данные одного типа, например формулы.

    В поле Внутри можно выбрать лист или книгу для поиска на листе или во всей книге.

  6. Нажмите кнопку Найти все или Найти далее.

    В списке Найти все перечислены все вхождения элемента, которые необходимо найти, и можно сделать ячейку активной, выбрав определенное вхождение. Вы можете отсортировать результаты поиска Найти все, щелкнув заглавную кнопку.

Примечание:  Чтобы остановить поиск, нажмите клавишу ESC.

Проверьте, есть ли в ячейке текст

Для этого используйте функцию ЕТЕКСТ.

Примеры ЕТЕКСТ

Проверка того, совпадает ли ячейка с определенным текстом

Используйте функцию ЕСЛИ для возврата результатов для заского условия.

Примеры ЕСЛИ

Проверка того, совпадает ли часть ячейки с определенным текстом

Для этого используйте функции ЕСЛИ,ПОИСКи Е ЧИСЛОЭЛЕБР.

Примечание: Функция ПОИСК не имеет чувствительность к делу.

Примеры if, ISNUMBER и SEARCH

Нужна дополнительная помощь?

А вы знали, что критерием поиска в ВПР или СУММЕСЛИ / СЧЁТЕСЛИ и т.д. может быть часть ячейки?

Покажу на примере.

Пример с функцией ВПР

Предположим, в желтую ячейку нужно вывести день рождения сотрудницы по имени Ирина. Критерий поиска — только имя.

Но ведь в таблице-источнике, в которой мы будем искать совпадение — нет столбца Имя. Только ФИО.

Фишка ВПР и СЧЁТЕСЛИ, о которой я узнала через 15 лет работы в Excel

Если сразу хочется разделить столбец ФИО на Фамилию, имя и отчество и уже оттуда тянуть — не торопитесь.

Напишем в желтую ячейку формулу:

=ВПР(«*ирина*»;C2:D11;2;0)

где «*ирина*» — и есть тот самый критерий поиска по части ячейки.

Здесь используются два значка-оператора — кавычки и звездочка.

  • звездочка — заменяет любое количество символов. Т.е.перед и после слова ирина может находиться любое количество любых символов.
  • кавычки «» — обязательно ставятся для текстового аргумента поиска в функциях excel.

Остальные аргументы стандартные для функции ВПР:

C2:D11 — таблица для поиска, здесь ее не закрепляем абсолютными ссылками, т.к. копировать формулу не будем.

— номер столбца в таблице, из которого будут возвращаться данные.

0 — аргумент интервальный просмотр.

Как видите, день рождения сотрудницы по имени Ирина (Лесиченко Ирина Ивановна) подтянулся правильно.

Фишка ВПР и СЧЁТЕСЛИ, о которой я узнала через 15 лет работы в Excel

Пример с функцией СЧЁТЕСЛИ

На примере той же таблицы, найдем количество сотрудниц по имени Елена.

Напишем формулу:

=СЧЁТЕСЛИ(C2:C11;»*елена*»)

Где

C2:C11 — диапазон для поиска

«*елена*» — критерий поиска, образованный по тому же принципу, что и для предыдущего примера. Формула будет искать все ячейки, в которых содержится «елена» в любой части ячейки, и вернет их количество.

Фишка ВПР и СЧЁТЕСЛИ, о которой я узнала через 15 лет работы в Excel

Формула посчитала значение 3 — и действительно, в списке три сотрудницы с таким именем.

Аналогично этот прием работает в функциях СУММЕСЛИ и СУММЕСЛИМН.

Ловушка этого способа

В эту ловушку я тоже попадала.

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

Например, я считала количество сотрудников с именем Петр (буква ё не использовалась).

Критерием для функции СЧЁТЕСЛИ был «*петр*». И конечно, результатом расчета функции были не только все Петры, но и Петровы, Петровичи и Петровны, поскольку «Петр» является частью этих слов-отчеств.

В таком случае после слова-критерия (или перед ним) нужно поставить пробел. В данном случае, критерием поиска будет «*Петр *» (с пробелом перед второй звездочкой).

Вам может быть интересно:


Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.

Пусть Исходный список значений (например, перечень инструментов) находится в диапазоне

A10:A19

(см.

Файл примера

).

Задача

Выведем в отдельный диапазон значения, которые удовлетворяют критерию. Рассмотрим различные варианты поиска.

А. Найти значения, которые содержат критерий

Для удобства создадим

именованный диапазон

Список

.

Диапазон может охватить в том числе и незаполненные ячейки перечня. В дальнейшем пользователь может расширить перечень инструментов, указанные ниже формулы автоматически учтут новые значения.

Выведем в отдельный диапазон все значения Исходного списка, в которых

содержится

текст-критерий (например, слово

дрель

). Критерий вводится в ячейку

С6

.

Для создания списка, содержащего найденные значения, воспользуемся

формулой массива

:

=ИНДЕКС(Список; НАИМЕНЬШИЙ( ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($C$6;Список);0)>0;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))

Алгоритм работы формулы следующий (для просмотра промежуточных шагов работы формулы воспользуйтесь

клавишей

F9

):

  • Функция

    ПОИСК()

    , перебирая элементы исходного списка, определяет, содержится ли в нем значение-критерий. Если значение не содержится, то возвращается ошибка #ЗНАЧ! В противном случае возвращается числовое значение, соответствующее номеру начальной позиции вхождения критерия в значение из списка (здесь нам не важен номер позиции, важно, что это число);
  • Функция

    ЕСЛИОШИБКА()

    используется для подавления ошибки #ЗНАЧ! заменяя ее на число 0;
  • Функция

    ЕСЛИ()

    заменяет числовые значения, возвращенные функцией

    ПОИСК()

    , на номер позиции значения в списке. Если значение =0 (соответствует ошибке #ЗНАЧ!), то возвращается число 30. В принципе, вместо 30 можно указать любое число, которое больше номера последней заполненной позиции Исходного списка (это нужно для правильной сортировки функцией

    НАИМЕНЬШИЙ()

    );
  • Функция

    НАИМЕНЬШИЙ()

    сортирует массив номеров строк по возрастанию;
  • Функция

    ДВССЫЛ()

    возвращает

    массив последовательных чисел

    ;

  • Функция

    ИНДЕКС()

    возвращает текстовые значения из Исходного списка, из строк, номера которых были получены на предыдущем шаге.

В предельном случае м.б. найдено столько же значений, сколько содержится в исходном списке (когда все значения удовлетворяют критерию). Поэтому

формулу массива

нужно распространять на диапазон той же размерности, что и исходный список. Вышеуказанная

формула массива будет возвращать несколько значений

, поэтому перед вводом формулы нужно выделить сразу весь диапазон, т.е. ячейки

С10:С19

, ввести формулу в

Строке формул

и нажать

CRTL+SHIFT+ENTER

.

Для скрытия ошибок #ССЫЛКА!, возвращаемой формулой массива, к диапазону

С10:С19

применено правило

Условного форматирования

.

Б. Найти значения, которые совпадают с критерием (точное совпадение)

В этом случае будут выведены все значения, которые совпадают с критерием (без

учета РЕгиСТра

). Критерий вводится в ячейку

E

6

.

Для создания списка, содержащего найденные значения, воспользуемся

формулой массива

:

=ИНДЕКС(Список; НАИМЕНЬШИЙ( ЕСЛИ($E$6=Список;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))

B. Найти значения, которые начинаются с критерия

В этом случае будут выведены все значения, которые начинаются или совпадают с критерием. Критерий вводится в ячейку

G

6

.

Для создания списка, содержащего найденные значения, воспользуемся

формулой массива

: =

ИНДЕКС(Список;НАИМЕНЬШИЙ( ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($G$6;Список);0)=1;СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))

Г. Найти значения, которые заканчиваются на критерий

В этом случае будут выведены все значения, которые заканчиваются или совпадают с критерием. Критерий вводится в ячейку

I

6

.

Для создания списка, содержащего найденные значения, воспользуемся

формулой массива

:

=ИНДЕКС(Список;НАИМЕНЬШИЙ( ЕСЛИ($I$6=ПРАВСИМВ(Список;ДЛСТР($I$6));СТРОКА(Список)-СТРОКА($A$9);30); СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))


СОВЕТ:

О поиске текстовых значений с использованием

подстановочных знаков

читайте в статье

Поиск текстовых значений в списках. Часть2. Подстановочные знаки

. В статье

Выделение ячеек c ТЕКСТом с применением Условного форматирования

приведено решение аналогичной задачи с использованием

Условного форматирования

.

На чтение 9 мин Просмотров 12.2к. Опубликовано 31.07.2020

Содержание

  1. Функция ЕСЛИ СОДЕРЖИТ
  2. Проверяем условие для полного совпадения текста.
  3. ЕСЛИ + СОВПАД
  4. Использование функции ЕСЛИ с частичным совпадением текста.
  5. ЕСЛИ + ПОИСК
  6. ЕСЛИ + НАЙТИ
  7. Функция ЕСЛИ: примеры с несколькими условиями
  8. Если ячейки не пустые, то делаем расчет
  9. Проверка ввода данных в Excel
  10. Функция ЕСЛИ: проверяем условия с текстом
  11. Визуализация данных при помощи функции ЕСЛИ
  12. Как функция ЕСЛИ работает с датами?
  13. Функция ЕСЛИ в Excel – примеры использования
  14. Поиск ячеек, содержащих текст
  15. Проверка ячейки на наличие в ней текста
  16. Проверка соответствия ячейки определенному тексту
  17. Проверка соответствия части ячейки определенному тексту

Функция ЕСЛИ СОДЕРЖИТ

Наверное, многие задавались вопросом, как найти функцию в EXCEL«СОДЕРЖИТ» , чтобы применить какое-либо условие, в зависимости от того, есть ли в текстовой строке кусок слова , или отрицание, или часть наименования контрагента, особенно при нестандартном заполнении реестров вручную.

Такой функционал возможно получить с помощью сочетания двух обычных стандартных функций – ЕСЛИ и СЧЁТЕСЛИ .

Рассмотрим пример автоматизации учета операционных показателей на основании реестров учета продаж и возвратов (выгрузки из сторонних программ автоматизации и т.п.)

У нас есть множество строк с документами Реализации и Возвратов .

Все документы имеют свое наименование за счет уникального номера .

Нам необходимо сделать признак « Только реализация » напротив документов продажи, для того, чтобы в дальнейшем включить этот признак в сводную таблицу и исключить возвраты для оценки эффективности деятельности отдела продаж.

Выражение должно быть универсальным , для того, чтобы обрабатывать новые добавляемые данные .

Для того, чтобы это сделать, необходимо:

    1. Начинаем с ввода функции

ЕСЛИ

    1. (вводим

«=»

    1. , набираем наименование

ЕСЛИ

    1. , выбираем его из выпадающего списка, нажимаем

fx

    1. в строке формул).

В открывшемся окне аргументов, в поле Лог_выражение вводим СЧЁТЕСЛИ() , выделяем его и нажимаем 2 раза fx.


Далее в открывшемся окне аргументов функции СЧЁТЕСЛИ в поле «Критерий» вводим кусок искомого наименования *реализ* , добавляя в начале и в конце символ * .

Такая запись даст возможность не думать о том, с какой стороны написано слово реализация (до или после номера документа), а также даст возможность включить в расчет сокращенные слова «реализ.» и «реализац.»

  • Аргумент «Диапазон» — это соответствующая ячейка с наименованием документа.
  • Далее нажимаем ОК , выделяем в строке формул ЕСЛИ и нажимаем fx и продолжаем заполнение функции ЕСЛИ.

  • В Значение_если_истина вводим « Реализация », а в Значение_если_ложь – можно ввести прочерк « — »
  • Далее протягиваем формулу до конца таблицы и подключаем сводную.

Теперь мы можем работать и сводить данные только по документам реализации исключая возвраты . При дополнении таблицы новыми данными, остается только протягивать строку с нашим выражением и обновлять сводную таблицу.

Если материал Вам понравился или даже пригодился, Вы можете поблагодарить автора, переведя определенную сумму по кнопке ниже:
(для перевода по карте нажмите на VISA и далее «перевести»)

Рассмотрим использование функции ЕСЛИ в Excel в том случае, если в ячейке находится текст.

Будьте особо внимательны в том случае, если для вас важен регистр, в котором записаны ваши текстовые значения. Функция ЕСЛИ не проверяет регистр – это делают функции, которые вы в ней используете. Поясним на примере.

Проверяем условие для полного совпадения текста.

Проверку выполнения доставки организуем при помощи обычного оператора сравнения «=».

=ЕСЛИ(G2=»выполнено»,ИСТИНА,ЛОЖЬ)

При этом будет не важно, в каком регистре записаны значения в вашей таблице.

Если же вас интересует именно точное совпадение текстовых значений с учетом регистра, то можно рекомендовать вместо оператора «=» использовать функцию СОВПАД(). Она проверяет идентичность двух текстовых значений с учетом регистра отдельных букв.

Вот как это может выглядеть на примере.

Обратите внимание, что если в качестве аргумента мы используем текст, то он обязательно должен быть заключён в кавычки.

ЕСЛИ + СОВПАД

В случае, если нас интересует полное совпадение текста с заданным условием, включая и регистр его символов, то оператор «=» нам не сможет помочь.

Но мы можем использовать функцию СОВПАД (английский аналог — EXACT).

Функция СОВПАД сравнивает два текста и возвращает ИСТИНА в случае их полного совпадения, и ЛОЖЬ — если есть хотя бы одно отличие, включая регистр букв. Поясним возможность ее использования на примере.

Формула проверки выполнения заказа в столбце Н может выглядеть следующим образом:

Как видите, варианты «ВЫПОЛНЕНО» и «выполнено» не засчитываются как правильные. Засчитываются только полные совпадения. Будет полезно, если важно точное написание текста — например, в артикулах товаров.

Использование функции ЕСЛИ с частичным совпадением текста.

Выше мы с вами рассмотрели, как использовать текстовые значения в функции ЕСЛИ. Но часто случается, что необходимо определить не полное, а частичное совпадение текста с каким-то эталоном. К примеру, нас интересует город, но при этом совершенно не важно его название.

Первое, что приходит на ум – использовать подстановочные знаки «?» и «*» (вопросительный знак и звездочку). Однако, к сожалению, этот простой способ здесь не проходит.

ЕСЛИ + ПОИСК

Нам поможет функция ПОИСК (в английском варианте – SEARCH). Она позволяет определить позицию, начиная с которой искомые символы встречаются в тексте. Синтаксис ее таков:

=ПОИСК(что_ищем, где_ищем, начиная_с_какого_символа_ищем)

Если третий аргумент не указан, то поиск начинаем с самого начала – с первого символа.

Функция ПОИСК возвращает либо номер позиции, начиная с которой искомые символы встречаются в тексте, либо ошибку.

Но нам для использования в функции ЕСЛИ нужны логические значения.

Здесь нам на помощь приходит еще одна функция EXCEL – ЕЧИСЛО. Если ее аргументом является число, она возвратит логическое значение ИСТИНА. Во всех остальных случаях, в том числе и в случае, если ее аргумент возвращает ошибку, ЕЧИСЛО возвратит ЛОЖЬ.

В итоге наше выражение в ячейке G2 будет выглядеть следующим образом:

Еще одно важное уточнение. Функция ПОИСК не различает регистр символов.

ЕСЛИ + НАЙТИ

В том случае, если для нас важны строчные и прописные буквы, то придется использовать вместо нее функцию НАЙТИ (в английском варианте – FIND).

Синтаксис ее совершенно аналогичен функции ПОИСК: что ищем, где ищем, начиная с какой позиции.

Изменим нашу формулу в ячейке G2

То есть, если регистр символов для вас важен, просто замените ПОИСК на НАЙТИ.

Итак, мы с вами убедились, что простая на первый взгляд функция ЕСЛИ дает нам на самом деле много возможностей для операций с текстом.

Примеры использования функции ЕСЛИ:

Функция ЕСЛИ: примеры с несколькими условиями

Для того, чтобы описать условие в функции ЕСЛИ, Excel позволяет использовать более сложные конструкции. В том числе можно использовать и несколько условий. Рассмотрим на примере. Для объединения нескольких условий в […]

Если ячейки не пустые, то делаем расчет

Чтобы выполнить действие только тогда, когда ячейка не пуста (содержит какие-то значения), вы можете использовать формулу, основанную на функции ЕСЛИ. В примере ниже столбец F содержит даты завершения закупок шоколада. […]

Проверка ввода данных в Excel

Подтверждаем правильность ввода галочкой. Задача: При ручном вводе данных в ячейки таблицы проверять правильность ввода в соответствии с имеющимся списком допустимых значений. В случае правильного ввода в отдельном столбце ставить […]

Функция ЕСЛИ: проверяем условия с текстом

Рассмотрим использование функции ЕСЛИ в Excel в том случае, если в ячейке находится текст. Будьте особо внимательны в том случае, если для вас важен регистр, в котором записаны ваши текстовые […]

Визуализация данных при помощи функции ЕСЛИ

Функцию ЕСЛИ можно использовать для вставки в таблицу символов, которые наглядно показывают происходящие с данными изменения. К примеру, мы хотим показать, происходит рост или снижение продаж. В столбце N поставим […]

Как функция ЕСЛИ работает с датами?

На первый взгляд может показаться, что функцию ЕСЛИ для работы с датами можно использовать так же, как для числовых и текстовых значений, которые мы только что обсудили. К сожалению, это […]

Функция ЕСЛИ в Excel – примеры использования

на примерах рассмотрим, как можно использовать функцию ЕСЛИ в Excel, а также какие задачи мы можем решить с ее помощью

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Допустим, вы хотите убедиться, что столбец имеет текст, а не числа. Или перхапсйоу нужно найти все заказы, соответствующие определенному продавцу. Если вы не хотите учитывать текст верхнего или нижнего регистра, есть несколько способов проверить, содержит ли ячейка.

Вы также можете использовать фильтр для поиска текста. Дополнительные сведения можно найти в разделе Фильтрация данных.

Поиск ячеек, содержащих текст

Чтобы найти ячейки, содержащие определенный текст, выполните указанные ниже действия.

Выделите диапазон ячеек, которые вы хотите найти.

Чтобы выполнить поиск на всем листе, щелкните любую ячейку.

На вкладке Главная в группе Редактирование нажмите кнопку найти _амп_и выберите пункт найти.

В поле найти введите текст (или числа), который нужно найти. Вы также можете выбрать последний поисковый запрос из раскрывающегося списка найти .

Примечание: В критериях поиска можно использовать подстановочные знаки.

Чтобы задать формат поиска, нажмите кнопку Формат и выберите нужные параметры в всплывающем окне Найти формат .

Нажмите кнопку Параметры , чтобы еще больше задать условия поиска. Например, можно найти все ячейки, содержащие данные одного типа, например формулы.

В поле внутри вы можете выбрать лист или книгу , чтобы выполнить поиск на листе или во всей книге.

Нажмите кнопку найти все или Найти далее.

Найдите все списки всех вхождений элемента, который нужно найти, и вы можете сделать ячейку активной, выбрав определенное вхождение. Вы можете отсортировать результаты поиска » найти все «, щелкнув заголовок.

Примечание: Чтобы остановить поиск, нажмите клавишу ESC.

Проверка ячейки на наличие в ней текста

Для выполнения этой задачи используйте функцию текст .

Проверка соответствия ячейки определенному тексту

Используйте функцию Если , чтобы вернуть результаты для указанного условия.

Проверка соответствия части ячейки определенному тексту

Для выполнения этой задачи используйте функции Если, Поиски функция номер .

Примечание: Функция Поиск не учитывает регистр.

 

Добрый вечер! Битые сутки не могу решить казалось бы не сложную, задачку, но всё мысли заходят в тупик. Прошу помощи гуру.  
ОСОБЕННОСТИ: Задачу необходимо решить только с использованием формул.  
ИСХОДНЫЕ ДАННЫЕ: есть таблица 5 строк, 5 столбов. В каждой ячейке могут быть один из след.типов данных: текст, число, дата, просто пусто. Одна (И ТОЛЬКО ОДНА — иначе быть не может) ячейка содержит текст в котором встречается «ИНН» и «КПП». А вот её расположение в таблице — может меняться.  
Пример содержимого: «Администрация МО города Москвы ИНН 0123456789 КПП 123456789»  
ЗАДАЧА: проверить всю таблицу 5*5 на предмет ячейки содержащей текст «ИНН» и «КПП» и в случае её обнаружения отобразить текст из этой ячейки в ячейке (к примеру) R77.

 
 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Опять студенты лодыри…

Я сам — дурнее всякого примера! …

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

формула массива, вводится нажатием ctrl+shift+enter:  
=ИНДЕКС(A1:E5;МАКС(ЕЧИСЛО(ПОИСК(«ИНН»;A1:E5))*ЕЧИСЛО(ПОИСК(«КПП»;A1:E5))*СТРОКА(A1:E5));МАКС(ЕЧИСЛО(ПОИСК(«ИНН»;A1:E5))*ЕЧИСЛО(ПОИСК(«КПП»;A1:E5))*СТОЛБЕЦ(A1:E5)))

 

Serge

Пользователь

Сообщений: 11308
Регистрация: 01.01.1970

{quote}{login=Himtree}{date=05.11.2011 09:35}{thema=Поиск ячейки содержащей текст, часть которого отвечает условию поиска.}{post}Прошу помощи гуру.  
{/post}{/quote}  

  МСН: <<формула массива…>>  

  Ну наконец-то!  
Хоть один гуру сознался что он гуру! :-)))

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

UDF:  

  Function inn(rng As Range) As String  
Dim r As Range  
For Each r In rng  
   If InStr(r.Text, «ÈÍÍ») > 0 And InStr(r.Text, «ÊÏÏ») > 0 Then inn = r.Text: Exit Function  
Next r  
End Function

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

Криво получилось:  
Function inn(rng As Range) As String  
Dim r As Range  
For Each r In rng  
   If InStr(r.Text, «ИНН») > 0 And InStr(r.Text, «КПП») > 0 Then inn = r.Text: Exit Function  
Next r  
End Function

 

Bond

Пользователь

Сообщений: 81
Регистрация: 26.12.2012

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

The_Prist, я так понял найти ячейку с текстом, и «отобразить ее в R77» (т.е. по адресу)

 

Юрий М

Модератор

Сообщений: 60586
Регистрация: 14.09.2012

Контакты см. в профиле

Я так понял, что в R77 результат :-)

 

Юрий М

Модератор

Сообщений: 60586
Регистрация: 14.09.2012

Контакты см. в профиле

Если результат будет не в R77 — незачёт!

 

Не хотел я пугать вас своим файлом, ну раз просите, вот. В нём три листа.  
1) Карточка результата (здесь должны отображаться все необходимые данные, в пригодном для восприятия виде)  
2) Обработка (промежуточный лист, для упорядочивания данных)  
3) Данные (сюда каждый раз будут вставляться новые данные, скопированные с сайта)  
На первом листе, в красной ячейке должна появится надпись:  
«ИНН 2311038642 КПП 231101001 Администрация Прикубанского внутригородского округа города Краснодара  
javascript:»    
Её можно подцепить как с третьего так и со второго листа, но как ?  
ТОЛЬКО ФОРМУЛОЙ, никаких макросов.

 
 

{quote}{login=The_Prist}{date=05.11.2011 10:31}Фигня какая-то. Если надо найти ячейку, содержащую ИНН и КПП, то: найдя в ячейке «Администрация МО города Москвы ИНН 0123456789 КПП 123456789», отобразить содержимое этой ячейки как «R77» вряд ли получиться. Ведь там уже «Администрация МО города Москвы ИНН 0123456789 КПП 123456789»  
Вопрос: откуда брать «R77»?{/post}{/quote}  
Наверное криво я изъяснился. Прикрепил файл, с конкретным примером. В красной ячейке должно отобразиться название организации с ИНН и КПП.

 

{quote}{login=MCH}{date=05.11.2011 09:57}{thema=}{post}формула массива, вводится нажатием ctrl+shift+enter:  
=ИНДЕКС(A1:E5;МАКС(ЕЧИСЛО(ПОИСК(«ИНН»;A1:E5))*ЕЧИСЛО(ПОИСК(«КПП»;A1:E5))*СТРОКА(A1:E5));МАКС(ЕЧИСЛО(ПОИСК(«ИНН»;A1:E5))*ЕЧИСЛО(ПОИСК(«КПП»;A1:E5))*СТОЛБЕЦ(A1:E5))){/post}{/quote}  
Блин, а работает =) сейчас буду разбирать по этапам и вкуривать как именно она работает и стабильность вычисления.  
Спасибо!

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

А зачем Вам 5 столбцов на 5 строк, когда нужно просматривать ячейки B1:B6, и формула значительно проще получается:  
=ПРОСМОТР(2;1/ЕЧИСЛО(ПОИСК(«КПП»;B1:B6))/ЕЧИСЛО(ПОИСК(«ИНН»;B1:B6));B1:B6)  
массивный ввод не требуется

 

{quote}{login=MCH}{date=06.11.2011 12:09}{thema=}{post}А зачем Вам 5 столбцов на 5 строк, когда нужно просматривать ячейки B1:B6, и формула значительно проще получается:  
=ПРОСМОТР(2;1/ЕЧИСЛО(ПОИСК(«КПП»;B1:B6))/ЕЧИСЛО(ПОИСК(«ИНН»;B1:B6));B1:B6)  
массивный ввод не требуется{/post}{/quote}  
Да, спасибо, как вариант! Просто рассматривал два варианта:  
1) вытащить эту строку со второго листа — тогда ваша последняя формула отлично подходит.  
2) вытаскивать эту строку сразу с третьего листа (скопированных данны) — и в этом случае ваша последняя формула может дать сбой, так как нужная ячейка может оказаться не во втором (B) столюце, а в третьем (С).

 

{quote}{login=MCH}{date=06.11.2011 12:09}{thema=}{post}А зачем Вам 5 столбцов на 5 строк, когда нужно просматривать ячейки B1:B6, и формула значительно проще получается:  
=ПРОСМОТР(2;1/ЕЧИСЛО(ПОИСК(«КПП»;B1:B6))/ЕЧИСЛО(ПОИСК(«ИНН»;B1:B6));B1:B6)  
массивный ввод не требуется{/post}{/quote}  
эх, поспешил…  
Дело в том что я работаю в бесплатном OO ver.3.2.1 а вот в нём данная формула (при том что отлично работает в MS 2007) вываливается в ошибку: #DIV/0!

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

попробуйте так:  
=ИНДЕКС(B1:B6;ПОИСКПОЗ(«*ИНН*КПП*»;B1:B6;0))

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

или;  
=ВПР(«*ИНН*КПП*»;B1:B6;1;0)

 

Юрий М

Модератор

Сообщений: 60586
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=Himtree}{date=06.11.2011 01:19}{thema=Re: }{post}{quote}{login=MCH}{date=06.11.2011 12:09}{thema=}{post}{/post}{/quote}Дело в том что я работаю в бесплатном OO ver.3.2.1 {/post}{/quote}Тогда Вам прямая дорога на форум по этому продукту.

 

{quote}{login=MCH}{date=06.11.2011 01:34}{thema=}{post}попробуйте так:  
=ИНДЕКС(B1:B6;ПОИСКПОЗ(«*ИНН*КПП*»;B1:B6;0)){/post}{/quote}  

  {quote}{login=MCH}{date=06.11.2011 01:34}{thema=}{post}или;  
=ВПР(«*ИНН*КПП*»;B1:B6;1;0){/post}{/quote}  

  спасибо но опять в MS 2007 работает легко, а в OO нефунциклирует! Эх =(

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Himtree, Вам же Юрий М подсказал выход от 06.11.2011, 10:10. Или просто нравится людям голову морочить?

Я сам — дурнее всякого примера! …

 

Himtree

Гость

#24

06.11.2011 21:35:10

{quote}{login=KukLP}{date=06.11.2011 01:27}{thema=}{post}Himtree, Вам же Юрий М подсказал выход от 06.11.2011, 10:10. Или просто нравится людям голову морочить?{/post}{/quote}  
Простите, все кому заморочил голову.  
Большая часть функций (по крайне мере все простые) из MS 2007 идентичны и поддерживаются и в OO. Надеялся что мою задачку можно решить на элементарных функциях MS, которые легко ретранслировать в OO.    
По видимому ошибался! =(

Понравилась статья? Поделить с друзьями:
  • Поиск ячеек с числами excel
  • Поиск элемента в массиве vba excel
  • Поиск ячеек с ошибками в excel
  • Поиск экстремума функции excel
  • Поиск ячеек с определенным значением в excel