Заповніть ідентифікатор Sheet1 зі значенням ідентифікатора від Sheet2


0

я тут новий, і у мене є проблема із заповненням даних з іншого аркуша.

Sheet1 виглядає так:

 _|___A___|___B___|___C___|
 1|   1   |John   |1,35,12|
 2|   2   |Derek  |45,2,1 |
 and so....

Лист2

 _|___A___|___B___|
 1|   1   |Hammer |
 2|   2   |Nails  |
        . . .
12|   12  |Car    |
        . . . 
35|   35  |Rope   |
        . . .
45|   45  |Vase   |

Мені потрібно замінити ідентифікатори у Sheet1 на імена з Sheet2 (розділені на "," або ","), щоб отримати це:

 _|___A___|___B___|_______C_________|
 1|   1   |John   |Hammer,Rope,Car  |
 2|   2   |Derek  |Vase,Nails,Hammer|
 and so....

Я не знаю, якщо це навіть можливо, але якщо це, будь ласка, допоможіть мені

ти :)


1. Яку програму електронних таблиць ви використовуєте? 2. Чи завжди в колонці C міститься рівно три елементи? 3. Чи повинен результат замінити вміст стовпця C на аркуші 1, чи рішення може включати додавання стовпця з переглянутим вмістом (і при необхідності приховування стовпця C) або створення нового аркуша, схожого на ваш остаточний приклад?
— fixer1234

1. excel 2007 2. ні ... дещо менше, дещо більше 3. він може замінити sheet1 або створити новий аркуш, схожий на остаточний приклад.
— срібло2002

Відповіді:


0

додайте цей код до нового модуля у excel:

Function SplitThenFind(cell As String, sourceColumn As Range)

    Dim myArray As Variant
    Dim element As Variant
    Dim result As String
    Dim findResult As Range

    myArray = Split(cell, ",")

    For Each element In myArray

        Set findResult = Application.Worksheets(sourceColumn.Worksheet.Index).Range(sourceColumn.Address).Find(element, Lookat:=xlWhole)

        If Not (findResult Is Nothing) Then
            ' with offset you can select the column you need
            result = result & findResult.Cells.Offset(0, 1).Value & ","
        End If
    Next

    If Len(result) > 0 Then
      result = Left(result, Len(result) - 1)
    End If

SplitThenFind = result

End Function

Ви можете, будь ласка, поясніть мені, як це зробити? я використовую excel 2007
— silver2002

Я додаю код до модуля excel як спеціальної функції, подивіться цю хорошу посилання: посилання
— Akelmj
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.