Kedysi som robil niečo podobné tak som to trochu upravil. Je to len narýchlo ale možno pomôže.
Tvoj súbor mi hádzal chybu tak som vytvoril iný, pričom som pridal aj hlavičky stĺpcov.
Je to súbor a makrom takže budeš musieť povoliť makrá.
1. Nakopíruj si do stlpcov A a B svoje údaje.
2. Vzorce v stĺpcoch C a D potiahni do konca súboru (! predtým si ich nevymaž !). Vzorec v stĺpci C "first occurence" indikuje či sa jedná o prvý výskyt osobného čísla v súbore. Nadobúda stavy 1 alebo 0. Vzorec v stĺpci D ráta koľko je v celom súbore (resp. do riadku 50000) opakovaní toho istého osobného čísla.
3. Stlač tlačidlo makra
4. Do riadkov s prvým výskytom osobného čísla Ti v stĺpci E spojí všetky prislúchajúce maily
PS: Ono by to chcelo aby makro doplnilo aj tie vzorce, a mohol by si vynechať krok 2 ... no možno sa na to ešte pozriem.
PS2: Má to ešte jeden malý bug. Za každým mailom to dáva čiarku. Teda aj keď k danému osobnému číslu je v celom súbore iba jeden mail tak ho ukončí čiarkou a taktiež pri viacerých je aj za posledným čiarka...uvidíš keď Ti to zbehne
Tu je ešte to makro ak sa v tom niekto chce pohrabať:
Sub CombineMailAddresses()
Dim NumOfRec As Long
Dim rng As Range
Dim i As Long
Dim rep As Integer
Dim r As Integer
Dim rec As String
Dim myStr As String
'last used row
NumOfRec = Range("A" & Rows.Count).End(xlUp).Row
'sort col A ascending
Range("A2:A" & NumOfRec).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo
For i = 2 To NumOfRec
If Range("C" & i) = 1 Then
myStr = ""
'first new result
Range("E" & i).Value = Range("A" & i).Value
'how many times it repeats
rep = Range("D" & i).Value
For r = 0 To rep - 1
rec = Range("B" & i + r).Value
myStr = myStr & rec & ", "
Range("E" & i) = myStr
Next r
End If
Next i
'set interior color of column E
Range("E2:E" & NumOfRec).Interior.Color = vbYellow
End Sub
!!! Žiaľ pri uploadovaní som zistil že to tu nechce pustiť súbor s makrom, tak som to nahral na:
https://uloz.to/tam/c96e385c-ea2a-49...2-42780d4ca641
Dúfam že pomôže..
Koľko je max. mailov k jednému menu?