13. august 2004 - 14:05Der er
4 kommentarer og 2 løsninger
Opslag af flere værdier i enkelt celle
Hej alle!
Sidder og laver et Excel regneark, og sidder ret fast nu -- så ville høre om der måske er nogle her der kunne hjælpe :)
Lad os sige at nedenstående er to kolonner (de talværdier, der er adskilet af komma, skulle altså gerne være i en enkelt celle!):
Produkt A 1,2,5 Produkt B 1,3,4 Produkt C 2,3 Produkt D 1,4
Så har jeg et andet ark, der GERNE skulle se sådan ud (og det kan jeg ikke få den til):
1 Produkt A, Produkt B, Produkt D 2 Produkt A, Produkt C 3 Produkt B, Produkt C 4 Produkt B, Produkt D 5 -
Altså at den i den ENKELTE celle på det første ark søger efter hhv. værdi 1, 2, 3 osv. Når den så finder værdien 1 ved Produkt A, B og D så returnerer den disse tekststrenge, ligeledes tilbage i en ENKELT celle.
Er der en formel der gør dette nemt? Evt. en formel som jeg ikke skal til at ændre i hver række, der skal laves opslag, fx en matrix formel (med {}) som bare kan køre det hele via én formel?
Ved ikke om det er til at forstå? Har prøvet at forsimple dette meget - regnearket er noget mere avanceret, men ovenstående er hovedproblematikken.
Har prøvet med HLOOKUP og VLOOKUP, men de er ret simple og ser ikke ud til at kunne klare ovenstående :( (de returnerer jo kun en værdi - kan ikke få dem til at returnere flere, og slet ikke inden for samme celle)
PS. Jeg har ikke styr på VBA/makroer, så en evt. løsning på ovenstående må meget gerne kunne laves med "almindelige" Excel formler!
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
en brugerdefinet funktion. Du tryyker alt-f11 og kommer til makroeditor. Indsæt nyt modul og indsæt denne funktion der. bruges således: =GetString(B1:B100; søgeværdi) søgeværdien kan være tastet direkte i formlen eller komme fra en celle. Funktionen returnerer så alle de værdier fra kolonne A hvor søgeværdien findes i kolonne B
Function GetString(rng1, sv) As String Dim c As Range, out As String For Each c In rng1 If InStr(1, c, sv) > 0 Then out = out & c.Offset(0, -1) & ", " Next If out = "" Then GetString = "" Else GetString = Left(out, Len(out) - 2) End Function
Takker for svarene. ldanielsen - dit svar er okay, problemet her er bare at formlen ikke er særlig dynamisk, og jeg har et stort regneark med mange værdier :)
bak - tak for det! du må gerne lige skrive et svar som jeg kan acceptere :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.