Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 12.02.2020
Сообщений: 5
1

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

12.02.2020, 16:26. Показов 2028. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Нужна ваша помощь. На листе «Список» в столбце С указан перечень документов. Нужно по каждой профессии дать ответ – есть он в листе «Перечень» по данной профессии или нет.
Пытался сделать с помощью формулы ЕСЛИ(СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК(C2;Перечень!$C$1)));"Есть";"Нет")
Но не ищет правильно. Например, по «Аккумуляторщик» нашел только 2 позиции из 3х. По строке 177 – не нашел.
Вложения
Тип файла: xlsx Пример.xlsx (50.8 Кб, 8 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2020, 16:26
Ответы с готовыми решениями:

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

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

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

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

5
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
12.02.2020, 20:03 2
Ищет правильно. Просто у оператора руки растут не оттуда и он добавил пробел в конце текста (ячейка C177), а в ячейке C1 текст заканчивается точкой. Отсюда и закономерный и правильный результат, ничего не найдено. В общем, удалите пробел или используйте что-то вроде :

Код
=ЕСЛИ(ЕЧИСЛО(ПОИСК(СЖПРОБЕЛЫ(C177);Перечень!$C$1));"Есть";"Нет")

P.S. Возможно имеет смысл удалить лишние пробелы и в ячейке Перечень!$C$1
1
6024 / 3216 / 720
Регистрация: 23.11.2010
Сообщений: 10,743
12.02.2020, 21:45 3
Лучший ответ Сообщение было отмечено lomaxx как решение

Решение

Цитата Сообщение от pashulka Посмотреть сообщение
Возможно имеет смысл удалить лишние пробелы
Поддерживаю, лишних пробелов почти в половине строк, притом довольно много задвоений строк, из-за этого счет увеличивается
Дубли строк выделены, только прочитайте внимательно перед удалением, в паре строк разница в склонении одного слова только, надо будет исправить и в исходнике.
Свериться по количеству можно в Сводной таблице на Лист3, Ваш Перечень на Лист2

PS. Надо быть внимательнее.... очень
Вложения
Тип файла: rar Пример.rar (99.5 Кб, 4 просмотров)
1
6024 / 3216 / 720
Регистрация: 23.11.2010
Сообщений: 10,743
12.02.2020, 21:47 4
Еще, три строки не идентифицировались из-за превышения длины строки
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
12.02.2020, 22:34 5
Для первоначального файла (без исправлений) можно использовать такой макрос. Все притензии принимаются, кроме нечёткого сравнения строк.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Test()
    Dim a, rw&, cl&, txt1$, txt2$, c As New Collection
    a = Intersect(Лист1.UsedRange, Лист1.Range("B:C")).Value
    For rw = 1 To UBound(a)
        c.Add Trim$(a(rw, 2)), a(rw, 1)
    Next
    a = Лист2.Range("A1").CurrentRegion.Value
    For rw = 2 To UBound(a)
        txt1 = Trim$(a(rw, 3))
        For cl = 4 To UBound(a, 2)
            txt2 = c(a(1, cl))
            a(rw, cl) = IIf(InStr(txt2, txt1), "Есть", "Нет")
        Next
    Next
    Лист2.Range("A1").Resize(rw - 1, cl - 1) = a
End Sub

P.S. Для поиска без учёта регистра - нужно : (один вариант, на выбор)

1) Добавить в самое начало кода Option Compare Text
2) Использовать InStr(1, txt2, txt1, vbTextCompare)
3) Или UCase$/LCase$
1
0 / 0 / 0
Регистрация: 12.02.2020
Сообщений: 5
13.02.2020, 09:17  [ТС] 6
Огромное всем спасибо за помощь и участие!
0
13.02.2020, 09:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2020, 09:17
Помогаю со студенческими работами здесь

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

Поиск фрагментов текста в ячейке по строке
Добрый день. Не могу решить задачку:) Помогите пожалуйста. Есть текст в ячейках В, С, D, Е. Нужно...

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

Данные должны отображаться на другом листе в одной ячейке (без использования VBA)
Доброго времени суток. :) У меня такой вопрос возник. Есть таблица, например, (А1:Е100), и из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru