|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.04.2013, 13:18 | #1 |
Регистрация: 03.04.2013
Сообщений: 5
|
Частичное сравнение и замена при совпадении
Всем доброго времени суток!
Помогите пожалуйста, если такое вообще возможно Проблема такая - имеются два столбца, один содержит частично правильные артикулы, второй содержит полностью правильные артикулы. Нужно сверить данные из первого с данными из второго и при совпадении заменить их. К примеру, в первом столбце имеем PT-00123(262-3) (не правильный артикул) и надо найти правильное значение из второго столбца (WZ-5605/PT-00123) и заменить. Подскажите пожалуйста как это можно сделать,с помощью формул или макросов? и можно ли это вообще сделать? Очень надеюсь на вашу помощь! Последний раз редактировалось ZombieBoy; 04.04.2013 в 15:59. |
04.04.2013, 22:57 | #2 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
Можно и так, и эдак. Можно даже вывести процент совпадения. Вы бы пример приложили строк на 10, чтобы наглядно было.
|
05.04.2013, 08:49 | #3 |
Регистрация: 03.04.2013
Сообщений: 5
|
Процент совпадения не нужен, нужно просто замена артикула на правильный, и для удобства исправленный копировать в соседнюю ячейку,чтобы можно было потом сверить
пример из 10 строк будет не полный и не отобразит всего, так как столбец с правильными артикулами большой. прикладываю полный пример |
05.04.2013, 13:06 | #4 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
В столбце С именованный диапазон "Правильный" (артикул). В столбце В формула, которая сравнивает этот именованный диапазон со значением в ячейках столбца А и выводит совпавшее значение из диапазона "Правильный". В столбце D формула, которая вычисляет процент совпадения. НО, в формуле, которая в столбце В, я думаю надо задать минимальную длину текста для сравнения (третий параметр формулы). Иначе, например, неправильный артикул такого вида ТХ00100918 и правильный 009 выдаст как 100% совпадение, что будет верно и для неправильного такого ЕУ0098755.
|
05.04.2013, 13:29 | #5 |
Регистрация: 03.04.2013
Сообщений: 5
|
Да, минимальная длина текста нужна для поиска, так как он выхватывает первое же совпадение в артикуле,и подбирает не правильный. Можно ли ее задать,и при необходимости в дальнейшем изменять? И, не знаю как правильнее сформулировать, можно ли сделать так,чтобы он при поиске и нахождении верного артикула,выбирал все точные совпадения?
|
05.04.2013, 14:12 | #6 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
Конечно. Я же писал "третий параметр формулы" (необязательный). Можно задать числом или через промежуточную ДЛСТР.
Непонятно, что значит "все точные совпадения". Точное совпадение, по идее, одно. |
05.04.2013, 14:21 | #7 | |
Регистрация: 03.04.2013
Сообщений: 5
|
Цитата:
Правильный артикул то один,но при поиске он же может найти несколько артикулов,которые содержат искомые символы |
|
05.04.2013, 15:58 | #8 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
Упс. Тогда маленький ликбез.)))
Все функции имеют параметры, правильнее сказать, аргументы. Кроме некоторых, например СЕГОДНЯ(). Когда вводите функцию в ячейку, открывается окошко, где Вы должны эти аргументы ввести. В нашел случае аргумента четыре (четыре поля для ввода): 1. Что сравниваем (именованный диапазон "Правильный"). 2. С чем сравниваем (значение ячейки в столбце А). 3. Мин длина сравнения (необязательный аргумент, по умолчанию 3). 4. Метод сравнения (необязательный аргумент, по умолчанию vbTextCompare). По первым двум и четвертым понятно. В третьем аргументе как раз и указываете количество символов для сравнения. Если не указываете, то мин количество 3. Но, как уже писал, можно сделать через промежуточную формулу ДЛСТР если знаете точно, что длина строки в ячейках столбца А как раз та, что нужно. Хотя вряд ли. А вот по поводу суперточного нахождения правильного артикула, тут уж не получится. Посмотрите на Ваши исходные данные и увидите, что многие позиции в Правильных артикулах могут подходить не к одной, а нескольким Неправильным. И длина тут не причем. Поэтому, я в таких случаях и пользуюсь еще и процентом совпадения. Остальное руками... P.S. Пользуйтесь поиском, ибо форум предназначен для оказания помощи, а не для проведения ликбезов. Сам таким образом и нашел этот вариант. Кстати, в коде функции практически все закомментировано, так что достаточно туда заглянуть. Функция зашита в Ваш файл, найдете во вкладке Определенные пользователем. |
05.04.2013, 16:02 | #9 |
Регистрация: 03.04.2013
Сообщений: 5
|
Спасибо, постараюсь разобраться)
|
05.04.2013, 16:47 | #10 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
Спасибо тем, кто написал эту формулу!!! Реквизиты автора в коде...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сравнение данных по определенному диапазону строк и при совпадении значений копирование данных в другой лист | Volk358 | Microsoft Office Excel | 6 | 02.10.2012 09:54 |
Замена данных при совпадении | franchesko_totti | Microsoft Office Excel | 16 | 24.09.2012 17:00 |
Не получается частичное заполнение формы при нажатии кнопки | justas1507 | Microsoft Office Access | 0 | 24.01.2012 06:51 |
Сравнение нескольких столбцов и при совпадении - создание одной большой таблицы | ЖОРИКИ | Microsoft Office Excel | 8 | 25.10.2011 12:33 |
Поиск значений и копирование при совпадении | serafim09 | Microsoft Office Excel | 2 | 24.02.2010 13:36 |