Tomáš659
15.07.19,08:15
Potreboval by som pomôcť s funkciou VLOOKUP. Môj Excel súbor pozostáva z dvoch tabuliek na dvoch rozdielnych hárkoch. Potreboval by som aby do hárku s názvom Parts_List mi do stĺpca s názvom Tp vypísalo, do daného riadku všetky nájdene TP v hárku Net k danému názvu z poľa Reference. Cez funkciu VLOOKUP mi ale vypíše len prvé nájdene. Pre príklad, k prvému riadku na hárku Parts_List a názvu BD1001 by mi mala funkcia vypísať všetky nájdene TP z hárku Net do stĺpca Tp v hárku Parts_List, teda k BD1001 by mi malo vypísať TP257-1, TP456-1, TP496-1, TP468-1. No problém je v tom, že mi funkcia VLOOKUP vypíše len prvú nájdenú hodnotu.
ivka70
15.07.19,06:42
Toto ti VLOOKUP nespravi, ta ma jednoznacne vo svojej definicii, ze berie prvu najdenu hodnotu.

Bud si tu tabulku, odkial takas, upravis tak ,aby si tam mal len jednoznacne zaznamy alebo to spravis cez makro.

Mozes skusit este urobit kontingencnu tabulku a natahovat cez VLOOKUP viac stlpcov kontingencnej tabulky, ktore potom spojis do jedneho textu.

Zavisi, ci ide o jednorazovy zalezitost alebo to chces robit opakovane.
Tomáš659
15.07.19,06:49
Ďakujem za informácie. Potrebujem to robiť opakovane pre cca 10000 riadkov dát.
ivka70
15.07.19,07:07
Tak si musis rozmysliet, co je pre teba prijatelnejsi variant ....
Tomáš659
15.07.19,07:11
Ako by to bolo cez makro? v tomto nie som moc zbehly
excel.sk
15.07.19,11:11
.


.=TEXTJOIN(", "; TRUE; IF(B3=Net!$C$1198:$C$2641; IF(Net!$E$1198:$E$2641<>"";Net!$E$1198:$E$2641;""); ""))

potvrdíte nie ENTER, ale CTRL + SHIFT + ENTER


alebo aj takto:

Function HladajDokopy(CoHladam As String, KdeHladam As Range, KdeSuVysledky As Range)
Dim Vysledok As String
Dim Cyklus As Long
For Cyklus = 1 To KdeHladam.Count
If KdeHladam.Cells(Cyklus, 1) = CoHladam Then
Vysledok = Vysledok & " " & KdeSuVysledky.Cells(Cyklus, 1).Value
End If
Next
HladajDokopy = WorksheetFunction.Trim(Vysledok)
End Function


.
Tomáš659
15.07.19,11:25
Daný vzorec mi vypisuje chybu, ako by nepoznalo názov.
excel.sk
15.07.19,11:31
je potrebný Excel 2016 alebo novší
Tomáš659
15.07.19,12:15
No v práci máme žiaľ len staršie verzie Excel, tak mi to nejde
excel.sk
15.07.19,12:17
tak cez tu naprogramovanu funkciu Vam to pojde urcite aj v starsich verziach
Tomáš659
15.07.19,12:25
Ďakujem veľmi pekne, ide mi to. Mám otázku, nedalo by sa to spraviť tak aby sa dané vygenerované Tp dali kopírovať, momentálne tam píše =HladajDokopy(B3;Net!$C$1198:$C$2641;Net!$E$1198:$ E$2641) a vygenerované veci nieje možne kopírovať.
Tomáš659
15.07.19,12:58
Ďakujem, už to mám hotové. Veľmi ste mi pomohli.
elninoslov
20.08.19,22:12
Ak nemáte nový Office s fukciou TEXTJOIN, a nemôžete kvôli firemnej politike použiť makro, dá sa to obísť pomocným stĺpcom. Dajú sa vypodmienkovať aj prázdne bunky.