Is er een manier in Excel om een (film)lijst alfabetisch te rangschikken (maar de lidwoorden uitzonderen) ?

Bijvoorbeeld - The Man from U.N.C.L.E. , zou moeten bij de M en niet bij de T staan.

Weet jij het antwoord?

/2500

Het beste antwoord

Ik heb een Engelstalige excel en dus gaat mijn antwoord daar van uit. Stel dat in A1, A2 en verder naar beneden je titels staan. Stel dat Z1 tot Z100 (bijvoorbeeld) alle (lid)woorden staan die je wilt 'excluden' als je titel daarmee begint.(Dus bv. de, het, een, a, the, le, ein, einer, einem, enz). Voer nu in B1 deze formule in: =IF(ISERROR(MATCH(LEFT(A1;FIND(" ";A1)-1);Z$1:Z$100;0));A1;RIGHT(A1;LEN(A1)-FIND(" ";A1))) En trek dit door naar beneden. Nu staat in de B-kolom B1 de titel zonder de lidwoorden die in de array Z1:Z100 staan. Je kan deze kolom sorteren, maar dat werkt nog net niet helemaal goed. Weet niet zeker waarom. Het werkt wèl goed als je in cel C1 zet =B1, en die formule naar beneden doortrekt, en dan op de C-kolom sorteert. Uitleg formule: FIND(" ";A1) geeft de positie van de eerste spatie in A1. LEFT(A1;FIND(" ";A1)-1) geeft alles links van die spatie weer (dus het eerste woord in A1), zonder de spatie zelf MATCH(LEFT(A1;FIND(" ";A1)-1);Z$1:Z$100;0) vergelijkt het eerste woord in A1 met de array in Z1-Z100. Komt het daar voor, dan wordt er een getal teruggegeven, anders een fout. Er zijn verschillende redenen waarom een fout teruggegeven kan worden. Bijvoorbeeld kan het eerste woord niet voorkomen in Z1-Z100. Of er kan helemaal geen eerste woord zijn, omdat de hele titel slechts één woord is, zonder spatie. Al deze gevallen worden door IF(ISERROR(...) afgevangen. Komt er een foutmelding terug, dan wordt in B1 gewoon A1 weergegeven. Komt er géén foutmelding terug, dan wordt in B1 RIGHT(A1;LEN(A1)-FIND(" ";A1) gezet, ofwel, alles wat _rechts_ van de eerste spatie staat. Het enige geval dat niet gedekt wordt, is als de gehele titel uit slechts één woord bestaat, dat in de lijst van Z1 tot Z100 voorkomt. Oh, en grapjes als titels die met bv. 'L'Hiver' beginnen (dus een lidwoord zonder spatie naar het volgende woord) zullen ook wel niet goed gaan. Deze formule kan trouwens simpeler, maar dan moet je met meerdere kolommen werken , bv een tussenkolom om de waarde voor FIND(" ";A1) op te slaan, die je vervolgens kunt hiden. Toegevoegd na 10 minuten: Oh, en het zou nog mis kunnen gaan als de titel met een spatie begint (slordige database). Kan nog opgelost worden door overal met TRIM(A1) te werken.

Ja dat kan wel als je het lidwoord in een andere kolom zet dus onder kolom A het lidwoord, en onder kolom B het woord waar je op wilt zoeken, of filteren

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100