Страницы: 1
RSS
Выбор текста из ячейки, соответствующего одному из значений в другой таблице
 
Добрый день, уважаемые посетители форума!

Столкнулся с проблемой:
из таблицы с длинным наименованием товара (столбец "А") необходимо выбрать тот или иной товар из таблицы (E1:E7) с кратким наименованием и добавить в столбец "В" краткое наименование товара.
Пример прилагаю.

Использование ВПР с интервальным просмотром "ИСТИНА" дает совсем плохие результаты, а перебирать конструкцией = ЕСЛИ( ПОИСК) неудобно, т.к. в реальном файле вариантов кратких наименований больше 100...
Заранее спасибо за труды!
Изменено: vasiliy NO - 16.06.2021 10:49:26
 
Код
=ИНДЕКС(E:E;ПОИСКПОЗ(1;ПОИСК(E:E;A1);0))
Изменено: Тимофеев - 16.06.2021 11:02:44
 
Еще вариант:
=ПРОСМОТР(;-ПОИСК(E$1:E$7;A1);E$1:E$7)
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Код
Sub Категории()
    Dim err As Variant
    err = Sheets("Лист2").Range("E1:E7")
    
    Dim r As Range
    Dim y As Long
    With ActiveSheet
        y = .Cells(.Rows.Count, 1).End(xlUp).Row
        Set r = .Range(.Cells(1, 1), .Cells(y, 2))
    End With
    
    Dim arr As Variant
    arr = r
    
    Dim u As Long
    For y = 1 To UBound(arr, 1)
        For u = 1 To UBound(err, 1)
            If InStr(LCase(arr(y, 1)), LCase(err(u, 1))) > 0 Then
                arr(y, 2) = err(u, 1)
                Exit For
            End If
        Next
    Next
    r = arr
End Sub
 
Всем большое спасибо за участие!
Все варианты оказались рабочими, но не без недостатков, к сожалению...:(
В случае, когда в кратком наименовании пропущена часть слов из полного наименования, то Excel теряется (как с айфонами, например).
Но, в любом случае, с этим уже можно работать, если пересобрать исходник кратких наименований.
Еще раз благодарю!
Страницы: 1
Наверх