Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Объединение данных в списке Excel / 5 сообщений из 5, страница 1 из 1
11.09.2012, 00:37
    #37951862
Объединение данных в списке Excel
Здравствуйте, любители Excel.

Подскажите, как решить такую задачу, когда по каждому коду нужно объединить данные из соседнего столбца. Как сделать, если только 2 значения - легко представляю, а когда больше - ставит в тупик.
Можно ли сделать формулами или прямая дорога к VBA?

ИСТОЧНИК РЕЗУЛЬТАТ
Код Значение Код Значение
АА1 Первый АА1 Первый;Второй;Третий
АА1 Второй ББ2 One;Two
АА1 Третий ВВ1 Уникум
ББ2 One ГГ6 Один;Два;Три;Четыре
ББ2 Two
ВВ1 Уникум
ГГ6 Один
ГГ6 Два
ГГ6 Три
ГГ6 Четыре

благодарю за внимание!
...
Рейтинг: 0 / 0
11.09.2012, 00:40
    #37951866
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение данных в списке Excel
Ультр@фиолет , пример давайте
...
Рейтинг: 0 / 0
11.09.2012, 00:42
    #37951869
Объединение данных в списке Excel
Пример с первой попытки не прикрепился :(
...
Рейтинг: 0 / 0
11.09.2012, 00:45
    #37951873
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение данных в списке Excel
...
Рейтинг: 0 / 0
11.09.2012, 01:15
    #37951881
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объединение данных в списке Excel
Serge 007, не, тут VLOOKUPCOUPLE нужно, или СЦЕПИТЕСЛИ()
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Function VLOOKUPCOUPLE6(Table As Variant, SearchColumnNum As Integer, SearchValue As Variant, _
                        RezultColumnNum As Integer, Separator_ As String, Optional BezPovtorov As Boolean = True)
'Table - таблица, где ищем
'SearchColumnNum - столбец, где ищем
'SearchValue - данные, которые ищем
'RezultColumnNum - колонка, откуда берём результат
'Separator_ - разделитель, желательно вводить с пробелом в конце
'BezPovtorov - если поставить 0, то будут выведены все повторяющиеся совпадения

    Dim i As Long, oDict As Object, tmp As String, vlk
        
    If TypeName(Table) = "Range" Then Table = Table.Value

    If BezPovtorov Then
        Set oDict = CreateObject("Scripting.Dictionary")

        For i = 1 To UBound(Table)
            If Table(i, SearchColumnNum) = SearchValue Then
                tmp = Table(i, RezultColumnNum)
                If tmp <> "" Then
                    If Not oDict.Exists(tmp) Then
                        oDict.Add tmp, 0&
                        vlk = vlk & Separator_ & Table(i, RezultColumnNum)
                    End If
                End If
            End If
        Next i

    Else
        For i = 1 To UBound(Table)
            If Table(i, SearchColumnNum) = SearchValue Then
                vlk = vlk & Separator_ & Table(i, RezultColumnNum)
            End If
        Next i
    End If
    If vlk > 0 Then vlk = Mid(vlk, Len(Separator_) + 1) Else vlk = ""
    VLOOKUPCOUPLE6 = vlk
End Function
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Объединение данных в списке Excel / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]