PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBACheck om delar av ett värde finns i annan cell Check om delar av ett värde finns i annan cell
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2022-02-21 06:01
 

 Hej!

Jag har aktiva kolumner A-D med data.

Kolumn A: innehåller ett ID

Kolumn B: Sökvärdet

Kolumn C: innehåller ID nr 2

Kolumn D: Referens värde, som kan innehålla sökvärdet från kolumn B, inklusive annan text & siffror.

 

Jag vill kontrollera om värdet från en cell i kolumn B, återfinns i en cell från kolumn D, om sant, returerna ID från kolumn A från samma rad som sökvärdet från kolumn B.

Hur gör jag detta på smidigast sätt?

Nytt inlägg
 2022-02-21 09:48
 

Det finns en excelformel du kan använda:

=XLETAUPP("*"&B2&"*";D:D;A:A;;2)

Lek lite och kolla om den gör det du vill.

Den sista 2:an betyder att du vill använda jokertecken (WIldcards) och början är ett sätt att pete in * i börja och slutet av söksträngen

*blå*

hittar alltså 

Blåbär, himmlesblå, bilblådårar etc

 

Eftersom du frågar i VBA-forumet så kan du antingen klistra in formeln med hjälp av VBA

'Något slags loop-start (exempel om du vill ha svaret i E-kolumnen)

    ActiveCell.FormulaR1C1 = "=XLOOKUP(""*""&RC[-3]&""*"",C[-1],C[-4],,2)"

'avslutad loop

eller använda excelformeln som en funktion i VBA. Typ:

application.WorksheetFunction.XLookup(...

Nytt inlägg
 2022-02-21 09:50
 

 Läser din fråga en gång till och inser att jag returnerar ID't från fel ände av sökningen (träffen i D). Måste klura lite.

Nytt inlägg
 2022-02-21 09:57
 

 =FILTER(A2:A10;ANTAL.OM(D2:D10;"*"&B2:B10&"*"))

Nytt inlägg
 2022-02-21 10:10
 

 Hej!
har försökt förtydliga lite nedan!

 

Nytt inlägg
 2022-02-21 14:38
 
 Ändrad av Christian  på 2022-02-22 11:55:34

 Knivigt men långt från omöjligt. Skriv nedan formel i cell E2. Fyll sedan nedåt.

=OM(SUMMA(--(ÄRTAL(SÖK(B2;$D$2:$D$20))))>=1;A2;"ingen träff")

Har du inte 365 så slår du in den med ctrl+shift+efter. Formeln är

otestad då jag skrev den på telefonen, men bör funka om jag kommer ihåg ordningen på argumenten i SÖK.

*edit*, testat formeln nu, funkar både i 365 och äldre versioner. Måste dock slås in med ctrl + shift + enter för de äldre. BLir dock lite förvirrad av att du vill ha träffen på samma rad som sökvärdet i kolumn B, men att du i ditt bildexempel istället visar det jämte första träffen i kolumn D. VIll du ha det enligt din text, så kan du använda min formel, annars får du testa anons istället.

/c

Nytt inlägg
 2022-02-22 09:57
 

3 varianter. Skrivs in i E2 och kopieras ner.

=INDEX($A$2:$A$20;PASSA(SANT;(ÄRTAL(SÖK($B$2:$B$20;D2)));0))

=XLETAUPP(SANT;(ÄRTAL(SÖK($B$2:$B$20;D2)));$A$2:$A$20;"")

=INDEX(FILTER($A$2:$A$20;ANTAL.OM(D2;"*"&$B$2:$B$20&"*"));1)

Samtliga formler har samma problem. De returnerar en 0:a om det finns tomma celler i området..

Kan fixas med ett villkor till, typ:

=XLETAUPP(1;ÄRTAL(SÖK($B$2:$B$20;D2))*($B$2:$B$20<>"");$A$2:$A$20;"")

eller, äldre excel

=OMFEL(INDEX($A$2:$A$20;PASSA(1;ÄRTAL(SÖK($B$2:$B$20;D2))*($B$2:$B$20<>"");0));"")

 

MEN, oavsett vad du väljer så kommer det vara ganska sega formler.

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBACheck om delar av ett värde finns i annan cell Check om delar av ett värde finns i annan cell

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter