Just nu i M3-nätverket
Gå till innehåll

Behöver tips på om jag ska använda =sök eller =letarad för att matcha på del av ord


Deppodi
 Share

Rekommendera Poster

Hej alla goa! 

Jag har ett projekt på jobbet där vi ska göra en import av en excelfil till ett affärssystem. 
Vi har massa artiklar som vi har exporterat ut från ett system. Där får vi bland annat produktnamn och artikelnummer i kolumner. 
I en annan lista får jag en kolumn med vad alla bilder heter. 

Nu ska jag mappa alla bilder med rätt artikelnummer. 

Ett exempel: 

En produktbild heter: 1e7c948e698d43049741eb67a18492d2-Testskor-A2
Den ska kopplas ihop med ett artikelnummer som heter A2. 
En annan produktbild som ska kopplas ihop med samma artikelnummer heter: Testskor-A2-8f736455999846108a21dd2012c1235e
Gemensam nämnare: A2.

Jag vill alltså =letarad (?) "A2" och returnera vad hela produktbilden heter. I det här scenariot kommer jag att få fler träffar än en. I och med att det finns två produktbilder som innehåller den gemensamma nämnaren A2. 

Den enda gemensamma nämnaren är alltså att någonstans i bildens namn så finns artikelnumret också medskrivet. Alla artikelnummer är unika och förekommer bara en gång enligt en logisk nummerserie. Så artikelnummer A2 följs sedan av A3 osv. Inga dubletter. Vi skulle kunna döpa bilderna till vad vi vill, exempel "Brun-sko-152". 

Hur hade ni ställt upp det här i excel? Klarar jag mig med bara =Letarad?

Edit: Bifogar en exempelfil. 

Testmall eforum.xlsx

Redigerad av Deppodi
Länk till kommentar
Dela på andra webbplatser

@Deppodi

Kan du förklara hur rubriken på den här tråden hänger ihop med din fråga?

Är det så att rubriken bör ändras för att stämma överens med innehållet?

 

Cecilia

Moderator

 

  • Gilla 1
Länk till kommentar
Dela på andra webbplatser

  • Deppodi changed the title to Behöver tips på om jag ska använda =sök eller =letarad för att matcha på del av ord
1 timme sedan, skrev Cecilia:

@Deppodi

Kan du förklara hur rubriken på den här tråden hänger ihop med din fråga?

Är det så att rubriken bör ändras för att stämma överens med innehållet?

 

Cecilia

Moderator

 

Så nu har jag uppdaterat rubriken till en bättre beskrivning. Tack för påpekandet! :) 

  • Gilla 1
  • Tack 1
Länk till kommentar
Dela på andra webbplatser

2 timmar sedan, skrev MH_:

Office365?

 

=SÖK(A2;B2)

Ger en siffra om texten i a2 finns i b2, annars ett felmeddelande.

så, den här formeln hämtar ut en lista på alla träffar (alla celler i kolumn B där texten i cell A2 hittas - dvs när ett tal returneras )

=FILTER(B:B;ÄRTAL(SÖK(A2;B:B)))

Lägg ihop alla träffar i en cell, kommaseparerade.

=TEXTJOIN(",";;FILTER(B:B;ÄRTAL(SÖK(A2;B:B))))

Men jag skulle nog ha begränsat B:B lite grand...

 

Duger det? Det blir ganska krävande sökningar, men jag tror inte att det går att förenkla så mycket.

Det var precis det här jag var ute efter! Förlåt om jag svär men fyfan va bra! Tusen tack 😃 Ska labba lite mer i veckan, återkommer eventuellt - tusen tack igen!

Länk till kommentar
Dela på andra webbplatser

Postad (redigerade)

Edit 2: Den här formeln fungerar nu. Fick gör en liten justering och ta bort _xlws. som google sheet la till utan att jag hade önskat det. 

Rätt  formel: 
=ARRAY_CONSTRAIN(ARRAYFORMULA(TEXTJOIN(",";;FILTER(D:D;ISNUMBER(SEARCH(B6;D:D))))); 1; 1)

 

Den här formeln fungerar helt perfekt i Microsoft Excel. 
Men när jag använder den i Google Sheets så säger den att "Okänd funktion: _xlws.FILTER."

Någon som vet varför det blir så? Det är inte jätteviktigt för mig att få svar, är mest bara nyfiken. Annars får jag helt enkelt säga åt mina kunder att bara jobba i riktiga excel. 😃

Edit: =ARRAY_CONSTRAIN(ARRAYFORMULA(TEXTJOIN(",";;_xlws.FILTER(D:D;ISNUMBER(SEARCH(B2;D:D))))); 1; 1)

Så blev formeln i google sheets.

Redigerad av Deppodi
Länk till kommentar
Dela på andra webbplatser

2 timmar sedan, skrev MH_:

**ed***

Och det hade du redan gjort när jag satt och såsade.

Man skall inte jobba samtidigt som man försöker svara på forum...

***

 

 

enligt den här sidan:

https://support.google.com/docs/table/25273?hl=sv&ref_topic=3105706

Skall Google Sheets ha funktionen FILTER() alldeles själv

Så testa att helt enkelt ta bort "_xlws." och se om det funkar.

Haha ja men den här gången var det jag som var lite för snabb med min fråga ut på forumets tror jag. Men jag uppskattar svaret ändå, det är just att ni är så hjälpsamma här som får mig att återkomma gång på gång! Otroligt 🙏

Länk till kommentar
Dela på andra webbplatser

  • 4 veckor senare...

@MH_ Går det att göra formeln ännu mera avancerad? 
Jag har en kund som har ett artikelnummer 1306 och även 600221306. Med formeln ovan så hittar excel båda dessa artikelnummer. Jag skulle behöva begränsa (om det går) så att den bara träffar på 1306 och inte på 600221306. 

Länk till kommentar
Dela på andra webbplatser

2 timmar sedan, skrev MH_:

Nja....

Finns det någon avgränsare som alltid är densamma? Typ strecket "-" i ditt ursprungliga exempel? då kan du inkludera det i sökningen. 

=FILTER(B:B;ÄRTAL(SÖK("-"&A2&"-";B:B)))

&-tecknet används för att sammanfoga texter, dvs samma som:  SAMMANFOGA("-";A2;"-")

 

Problemet är att det inte finns någon avgränsare i början och slutet av bild-namnen

Du måste du lägga på "-" i början och slutet av B-kolumnen så att  även den första och sista "delen" har avgränsare

 

=FILTER(B:B;ÄRTAL(SÖK("-"&A2&"-";"-"&B:B&"-")))

och en textjoint på det (det var en alldeles för bra felskrivning för att rätta)

 

Haha och en textjoint på det. Skrattade.

Perfekt! Tack. Det här löste problemet för mig. Nu får jag ut två bilder på det artikelnumret som heter 1306 och två bilder på det artikelnumret som heter 600221306. Innan fick jag fyra på båda. Snyggt jobbat!! Stor tumme upp och tack! 

 

=TEXTJOIN(",";;FILTER(D:D;ÄRTAL(SÖK("/"&B3&"-";"-"&D:D&"-"))))

Länk till kommentar
Dela på andra webbplatser

 Share



  • Senaste som Tittar

    • Inga registrerade medlemmar är inne på denna sida.
×
×
  • Skapa nytt...