Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 15.04.2013, 15:01   #1
Vivien
 
Регистрация: 15.04.2013
Сообщений: 7
По умолчанию Поиск частичного совпадения текста и подстановка данных

Здравствуйте, уважаемые господа!
Очень долго искала по инету ответ на свой вопрос и в конце концов решила обратиться с конкретно своей задачей к вам за помощью.
Есть 2 прайса со схожими названиями парфюмерной продукции. Товары одни и те же только наименования не всегда точно совпалают. Необходимо сравнить в документе наименования товаров и перенести тексты, соответствующие похожим позициям с 1 листа на 2-лист.
В приложении сам документ с прибл. формулой для поиска и подстановки. Но проблема в том, что она ошибается например с 15 позицией "Angel Schlesser Iis Femme" на 2-м листе и вписывает текст "лаванда", хотя по идее должно быть Н/Д.
Никак не пойму где здесь ошибка, возможно необходимо прописать доп. параметры для поиска.
Очень надеюсь на Вашу помощь, поскольку таких товаров в прайсе свыше 2000 и вручную подставлять инфо из 1-го прайса в другой просто немыслимо!



--------- примечание модератора - вдруг кому пригодится --------------
Цитата:
Надстройка LOOKUP предназначена для сравнения и подстановки значений в таблицах Excel.

Если вам надо сравнить 2 таблицы (по одному столбцу, или по нескольким),
и для совпадающих строк скопировать значения выбранных столбцов из одной таблицы в другую,
надстройка «Lookup» поможет сделать это нажатием одной кнопки.


В настройках программы можно задать:
  • где искать сравниваемые файлы (использовать уже открытый файл, загружать файл по заданному пути, или же выводить диалоговое окно выбора файла)
  • с каких листов брать данные (варианты: активный лист, лист с заданным номером или названием)
  • какие столбцы сравнивать (можно задать несколько столбцов)
  • значения каких столбцов надо копировать в найденные строки (также можно указать несколько столбцов)

Скачать надстройку для сравнения таблиц Excel и копирования данных из одинаковых строк

Вложения
Тип файла: zip correct.zip (4.3 Кб, 273 просмотров)

Последний раз редактировалось EducatedFool; 30.09.2013 в 09:54.
Vivien вне форума   Ответить с цитированием
Старый 16.04.2013, 08:19   #2
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 906
По умолчанию

Vivien, для вашей задачи нужно использовать Excel-функцию "ВПР".
Описывать, как пользоваться этой функцией не буду, т.к. в программе "Excel" есть прекрасная справка по Excel-функциям на русском языке.
Скрипт вне форума   Ответить с цитированием
Старый 16.04.2013, 14:17   #3
Vivien
 
Регистрация: 15.04.2013
Сообщений: 7
По умолчанию ВПР не подходит

Здравствуйте!
ВПР мне никак не подходит, поскольку у меня все названия товаров с частичным, а не полным совпадением идут. А ВПР ищет только идентичные названия в этом-то и сложность вся заключается.
В моем файле уже есть более менее подходящая формула Индекс+ПОИСКПОЗ, но ее нужно доработать, чтобы она совсем корректно работала. Просто, как ее доработать я не знаю.

Последний раз редактировалось Vivien; 16.04.2013 в 14:21.
Vivien вне форума   Ответить с цитированием
Старый 16.04.2013, 14:40   #4
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 906
По умолчанию

Цитата:
Vivien: Но проблема в том, что она ошибается например с 15 позицией "Angel Schlesser Iis Femme" на 2-м листе и вписывает текст "лаванда", хотя по идее должно быть Н/Д.
частичное же совпадение есть, почему вы утверждаете, что функция ошибается? Я так понимаю, что Excel-функция "ПОИСКПОЗ" сравнивает начало двух строк:
у вас одна строка "Angel Schlesser Iis Femme";
вторая строка "Angel Schlesser Homme".

Обе строки имеют одинаковое начало "Angel Schlesser", поэтому функция и возвращает результат.
Скрипт вне форума   Ответить с цитированием
Старый 16.04.2013, 14:42   #5
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,340
По умолчанию

Цитата:
Сообщение от Vivien Посмотреть сообщение
...ВПР мне никак не подходит, есть более менее подходящая формула Индекс+ПОИСКПОЗ...
Сравните результаты работы Вашей формулы
Код:
=ИНДЕКС(Лист1!$C$2:$C$6;ПОИСКПОЗ(G2;Лист1!$B$2:$B$6;1))
и формулы с функцией ВПР()
Код:
=ВПР(G2;Лист1!B$2:C$6;2)
Если найдёте различия - дайте знать

А то что Вам требуется - силами Excel осуществить невозможно. Да и вообще 100%-но верный результат, не имея и не используя таблицы точных соответствий, получить реально разве что случайно, какие инструменты не используй. Здесь есть функция на VBA, которая делает то что Вам надо, а так же в теме подробно описаны сложности, которые необходимо преодолеть для получения корректного результата
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://money.yandex.ru: 41001419691823
Serge 007 вне форума   Ответить с цитированием
Старый 16.04.2013, 14:46   #6
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 906
По умолчанию

Serge 007, у меня почему-то функция "ВПР" не работает в книге из сообщения #1.

Всё, нашёл отличия, я вот так формулу сделал:
=ВПР(G2;Лист1!B2:C6;2)
и скопировал её с помощью маркера заполнения, а надо было вот такую формулу сделать:
=ВПР(G2;Лист1!B$2:C$6;2)


Vivien, если средствами самой программы "Excel" не получится сделать или очень сложно будет получаться, тогда можно попробовать использовать макросы. Но для макросов также нужна будет какая-нибудь таблица, в которой макрос будет смотреть, как ему работать с данными.

Последний раз редактировалось Скрипт; 16.04.2013 в 15:29.
Скрипт вне форума   Ответить с цитированием
Старый 16.04.2013, 19:06   #7
Vivien
 
Регистрация: 15.04.2013
Сообщений: 7
По умолчанию

Ой, в макросах я вообще плохо разбираюсь. Попробую разобраться с функцией VBA по совету Serge 007, может поможет. Спасибо всем за участие, если будут еще какие идеи интересные, напишите пожалуйста. )))
Vivien вне форума   Ответить с цитированием
Старый 17.04.2013, 10:23   #8
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Ой, в макросах я вообще плохо разбираюсь. Попробую разобраться с функцией VBA по совету Serge 007, может поможет.
Прикольно) А я, наивный, полагал что макросы и пишутся на VBA) (по крайней мере в Экселе - Акцесс трогать не будем...)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума   Ответить с цитированием
Старый 17.04.2013, 12:36   #9
Vivien
 
Регистрация: 15.04.2013
Сообщений: 7
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Прикольно) А я, наивный, полагал что макросы и пишутся на VBA) (по крайней мере в Экселе - Акцесс трогать не будем...)
Так я поэтому и написала, что буду разбираться с VBA, не пойму что здесь прикольного? Была б я экспертом, меня бы здесь не было бы вообще. Вы бы лучше какую-нить идею подкинули, раз так хорошо в макросах разбираетесь.
Vivien вне форума   Ответить с цитированием
Старый 17.04.2013, 13:35   #10
Vivien
 
Регистрация: 15.04.2013
Сообщений: 7
Восклицание Подходящий документ для поиска найден. Требуется доработка!!!

Друзья! Благодаря Serge 007, нашла более менее подходящий документ для отбора похожих текстовых значений. Смотрите в приложении. Работает отлично!
Проблема в том, что нужно этот документ доработать. Помимо поиска схожих значений в процентном соотношении, необходимо перенести соответствующий текст из источника поиска. Т.е. нужно составить условие: ЕСЛИ совпадение названий >88%, то должен автоматически осуществляться перенос текста из столбца B, соответствующего строке источника сравнения. В приложении я пример предоставила.
ПЛИЗ, гуру Excel помогите доработать этот документ с таким условием.
Я в Вас верю!!!
Вложения
Тип файла: zip 4611638.zip (30.8 Кб, 760 просмотров)
Vivien вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск точного совпадения по двум столбцам таблицы в БД Access lun-wadim БД в Delphi 2 15.02.2013 21:39
Поиск совпадения и сложение Серёга0629 Microsoft Office Excel 13 27.09.2011 15:57
Поиск и подстановка текста Захар Васильевич Microsoft Office Excel 3 27.09.2010 09:16
stringgrid,сравнение двух столбцов на совпадения и не совпадения betirsolt БД в Delphi 7 19.01.2010 16:09
Не могу разобраться с сравнением 2-х двумерных масивов на совпадения текста tj_pablo Общие вопросы C/C++ 0 11.03.2009 23:21


01:55.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.