Excel: как «собрать» значения для отображения в другой ячейке - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть два столбца, столбец A имеет набор из нескольких стандартных значений, а столбец B имеет все уникальные значения.Я только экспериментирую с более сложными способами компиляции данных, чем для начинающих, так что я немного растерялся.

Мне нужно либо выполнить поиск, либо создать макрос, который будет перечислять только значенияв A (по одному разу), но также показывает, какие значения в B соответствуют значениям в A

, например,

A | B 
va1|abc
va1|bcd
Va2|xyz
va3|zab

покажет (в одной ячейке) следующее

va1: abc, bcd
va2: xyz
va3: zab

Пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Если вам требуется «иметь сгруппированные данные», а не точно «иметь одну строку на A», вы можете сделать это с помощью «сводной таблицы», помещающей A и B в метки строк, как вследующее изображение:

picture

0 голосов
/ 14 декабря 2018
Option Explicit
Sub Test()

Dim i As Long, j As Long, k As Long

k = 1

For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
    If Application.CountIf(Range("C:C"), Cells(i, 1).Value) = 0 Then
        Cells(k, 3).Value = Cells(i, 1).Value

        For j = 1 To Cells(Rows.Count, 1).End(xlUp).Row
            If Cells(j, 1).Value = Cells(k, 3).Value And _
               InStr(Cells(k, 4).Value, Cells(j, 2).Value) = 0 Then
                If Cells(k, 4).Value = "" Then
                    Cells(k, 4).Value = Cells(j, 2).Value
                Else
                    Cells(k, 4).Value = Cells(k, 4).Value & ", " & Cells(j, 2).Value
                End If
            End If
        Next j

        k = k + 1
    End If
Next i

For i = 1 To Cells(Rows.Count, 3).End(xlUp).Row
    Cells(i, 3).Value = Cells(i, 3).Value & ": " & Cells(i, 4).Value
    Cells(i, 4).ClearContents
Next i

End Sub

Отредактировано для одной ячейки

img2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...