Avatar billede kaarerysgaard Nybegynder
21. august 2014 - 10:03 Der er 6 kommentarer og
1 løsning

Søg efter skiftende tekst i kolonner i Excel eller Google Regneark

Kære eksperter
I en kolonne af excel arket har jeg en række ord, som jeg vil se, om findes et andet område af arket. Fx er ordet i B3 i området B40:B2089 og dernæst vil jeg gerne kunne kopiere formlen, så jeg får at vide om ordet i B4 er i området B40:B2089 og så fremdeles. Der er ikke tale om et eksakt match. Der er meget tekst i de kolonner som jeg søger i og ordet er nogle gange bare en del af en sætning. Jeg har også uden held forsøgt om jeg bedre kunne løse problemet i Google Spreadshet, men også her uden held. Håber I kan hjælpe. (uanset om løsningen findes i Excel eller Google Regneark) NB: Se evt. dette link for at se, hvordan onlinespreadsheetet ser ud kortlink.dk/er43
Mvh Kåre Kildall Rysgaard, datajournalist, Analystik.dk
Avatar billede bak Forsker
21. august 2014 - 17:34 #1
Det kan klares relativ nemt med en brugerdefineret funktion som denne:

Public Function TextInRange(ToFind As Range, TextRange As Range) As Boolean

    TextInRange = Not TextRange.Find(What:=ToFind.Value, After:=TextRange(1, 1), LookIn:=xlFormulas, _
                                    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                                    MatchCase:=False, SearchFormat:=False) Is Nothing

End Function

Den indsættes i et modul i Excel og bruges som en ganske normal funktion

ToFind peger på teksten der skal findes og textrange på området der skal gennemsøges.
Funktionen returnerer SAND hvis teksten er fundet og FALSK hvis den ikke bliver fundet.
Avatar billede bak Forsker
21. august 2014 - 17:40 #2
Eksempel sendt til info@Analystik.dk
Avatar billede bak Forsker
21. august 2014 - 18:51 #3
Sorry, var lige lidt sløv i hovedet. En almindelig formel kan det samme både i Excel og Google spreadsheet

=match(ʺ*ʺ & A4 & ʺ*ʺ,A$15:A$8000,0)
Avatar billede bak Forsker
21. august 2014 - 18:53 #4
test
=match("*" & A4 & "*", A$15:A$8000, 0)
Avatar billede kaarerysgaard Nybegynder
22. august 2014 - 09:23 #5
DET VIRKER FANTASTISK
Formlen  =match("*" & A4 & "*", A$15:A$8000, 0) angiver et tal, hvis der bliver fundet et match. Tallet fortæller, hvor der er et match henne. Fx. 7= i række 7 i det område, som du søger i.
Avatar billede bak Forsker
22. august 2014 - 09:48 #6
Ja, den angiver hvor mange rækker nede i området A15:A8000 den har fundet første match. Så 7 betyder så i dette tilfælde at match findes i række 13.
Avatar billede kaarerysgaard Nybegynder
22. august 2014 - 10:11 #7
I dansk Exel er formlen
=SAMMENLIGN("*" & B4 & "*";A$778:A$7904;0)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester