Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сравнить столбцы с наименованиями в разных документах - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Сравнить столбцы с наименованиями в разных документах
Marandi Дата: Вторник, 16.01.2024, 21:53 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте, уважаемые специалисты.
Прошу помочь с такой задачей.
Необходимо сравнить наименования из таблицы А с ассортиментом таблицы Б и вынести на отдельный лист «результат» таблицы Б столбцы с наименованиями и ценами из обеих таблиц совпавших позиций друг напротив друга.
Проблема заключается в том, что наименования не одинаковые, а только похожие.
Например, эти позиции будут одинаковыми и должны быть вынесены на лист «результат»:
в таблице А - Виброизолятор GG-1300, GG-2800, GG-3300, GP-55
в таблице Б - Виброизолятор GG1300,3300(2020) ген/GG2700,2800,3300,3500BSген/двиг/GP55 двиг, CHAMPION
К сообщению приложен файл: tabl_a.xlsx (10.1 Kb) · tabl_b.xlsx (12.4 Kb)


Сообщение отредактировал Marandi - Вторник, 16.01.2024, 21:57
 
Ответить
СообщениеЗдравствуйте, уважаемые специалисты.
Прошу помочь с такой задачей.
Необходимо сравнить наименования из таблицы А с ассортиментом таблицы Б и вынести на отдельный лист «результат» таблицы Б столбцы с наименованиями и ценами из обеих таблиц совпавших позиций друг напротив друга.
Проблема заключается в том, что наименования не одинаковые, а только похожие.
Например, эти позиции будут одинаковыми и должны быть вынесены на лист «результат»:
в таблице А - Виброизолятор GG-1300, GG-2800, GG-3300, GP-55
в таблице Б - Виброизолятор GG1300,3300(2020) ген/GG2700,2800,3300,3500BSген/двиг/GP55 двиг, CHAMPION

Автор - Marandi
Дата добавления - 16.01.2024 в 21:53
Gustav Дата: Среда, 17.01.2024, 01:29 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Помещаем оба списка на один лист рядом, с зазором в 3-4 колонки. Сортируем каждый по отдельности по возрастанию наименований.

Выбираем первую строку из левого списка, в свободной колонке справа (от левого списка) ставим цифру "1". Визуально просматриваем правый список. Найдя совпадение справа, метим его в свободной колонке слева (от правого списка) также цифрой "1". Первое совпадение найдено - строки обоих списков связаны кодом "1".

Переходим к следующей строке слева, метим ее цифрой "2" и т.д. Можно написать несложный макрос, который по двойному клику мышкой будет сам проставлять очередную цифру сравнения (и соответственно сам их последовательно считать). Это, правда, несложно - когда-то сам писал нечто подобное.

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

Всего много строк надо сравнивать? Т.е. каковы "масштабы бедствия"? Работа разовая, т.е. один раз найти связи и дальше много лет пользоваться? Если строк не очень много (скажем, до 1000), то этот способ самый простой, самый быстрый и, пожалуй, самый надежный.

[p.s.]Вот и макрос вспомнился - для модуля листа:[/p.s.]
[vba]
Код
Option Explicit

Public gcount As Long 'последовательный счётчик меток совпадений

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not IsEmpty(Target) Then Exit Sub
    'отметка строк ЛЕВОГО списка - в колонке C (3)
    If Target.Column = 3 Then
        gcount = gcount + 1
        Target.Value = gcount
    End If
    'отметка строк ПРАВОГО списка - в колонке F (6)
    If Target.Column = 6 Then
        Target.Value = gcount
    End If
End Sub
[/vba]


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Среда, 17.01.2024, 02:19
 
Ответить
СообщениеПомещаем оба списка на один лист рядом, с зазором в 3-4 колонки. Сортируем каждый по отдельности по возрастанию наименований.

Выбираем первую строку из левого списка, в свободной колонке справа (от левого списка) ставим цифру "1". Визуально просматриваем правый список. Найдя совпадение справа, метим его в свободной колонке слева (от правого списка) также цифрой "1". Первое совпадение найдено - строки обоих списков связаны кодом "1".

Переходим к следующей строке слева, метим ее цифрой "2" и т.д. Можно написать несложный макрос, который по двойному клику мышкой будет сам проставлять очередную цифру сравнения (и соответственно сам их последовательно считать). Это, правда, несложно - когда-то сам писал нечто подобное.

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

Всего много строк надо сравнивать? Т.е. каковы "масштабы бедствия"? Работа разовая, т.е. один раз найти связи и дальше много лет пользоваться? Если строк не очень много (скажем, до 1000), то этот способ самый простой, самый быстрый и, пожалуй, самый надежный.

[p.s.]Вот и макрос вспомнился - для модуля листа:[/p.s.]
[vba]
Код
Option Explicit

Public gcount As Long 'последовательный счётчик меток совпадений

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not IsEmpty(Target) Then Exit Sub
    'отметка строк ЛЕВОГО списка - в колонке C (3)
    If Target.Column = 3 Then
        gcount = gcount + 1
        Target.Value = gcount
    End If
    'отметка строк ПРАВОГО списка - в колонке F (6)
    If Target.Column = 6 Then
        Target.Value = gcount
    End If
End Sub
[/vba]

Автор - Gustav
Дата добавления - 17.01.2024 в 01:29
Marandi Дата: Среда, 17.01.2024, 06:06 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Gustav, благодарю вас, но масштаб бедствия прилично большой. От 2000 до 160 000, т.к. работа должна быть проведена с несколькими документами.
Работа не разовая.


Сообщение отредактировал Marandi - Среда, 17.01.2024, 06:07
 
Ответить
СообщениеGustav, благодарю вас, но масштаб бедствия прилично большой. От 2000 до 160 000, т.к. работа должна быть проведена с несколькими документами.
Работа не разовая.

Автор - Marandi
Дата добавления - 17.01.2024 в 06:06
alexa1965 Дата: Четверг, 18.01.2024, 14:30 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 378
Репутация: 61 ±
Замечаний: 0% ±

2003> 2019 >2016
Доброго дня! Попробовал помочь, но выдает ошибку, она выделена желтым цветом по повторяющейся позиции. Посмотрите может поможет. Свел все в одну таблицу.
К сообщению приложен файл: 8968547.xlsx (13.9 Kb)


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

Автор - alexa1965
Дата добавления - 18.01.2024 в 14:30
Marandi Дата: Четверг, 18.01.2024, 16:20 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
alexa1965, благодарю вас! Посмотрю.
 
Ответить
Сообщениеalexa1965, благодарю вас! Посмотрю.

Автор - Marandi
Дата добавления - 18.01.2024 в 16:20
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!