Заповніть ідентифікатор 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.