Excel

Uddrag flere tændstikker i separate kolonner

Extract Multiple Matches Into Separate Columns

Excel-formel: Uddrag flere matches i separate kolonnerResumé

For at udtrække flere matches til separate celler i separate kolonner kan du bruge en matrixformel baseret på INDEX og SMALL. I det viste eksempel er formlen i F5:

 
{= IFERROR ( INDEX (names, SMALL ( IF (groups=$E5, ROW (names)- MIN ( ROW (names))+1), COLUMNS ($E:E5))),'')}

Dette er en matrixformel og skal indtastes med Control + Shift + Enter.



hvordan man får kvadratroden i Excel

Når du har indtastet formlen i den første celle, skal du trække den ned og på tværs for at udfylde de andre celler.



Forklaring

Bemærk: denne formel bruger to navngivne intervaller : 'navne' henviser til C5: C11, og 'grupper' henviser til B5: B11. Disse navne er også defineret i ovenstående skærmbillede.

Kernen i denne formel er denne: vi bruger SMALL-funktionen til at generere et række nummer svarende til et 'nte match'. Når vi først har række nummeret, sender vi det simpelthen til INDEX-funktionen, som returnerer værdien på den række.



Tricket er, at SMALL arbejder med en matrix, der er dynamisk konstrueret af IF i denne bit:

 
 IF (groups=$E5, ROW (names)- MIN ( ROW (names))+1)

Dette uddrag tester det navngivne interval 'grupper' for værdien i E5. Hvis fundet, returnerer det et række nummer fra en matrix med relative række numre oprettet med:

 
 ROW (names)- MIN ( ROW (names))+1

Det endelige resultat er en matrix, der indeholder tal, hvor der er en match, og FALSK, hvor ikke:



anvende definerede navne på eksisterende formler

{1FALSEFALSEFALSEFALSE6FALSE}

Denne matrix går ind i SMALL. K-værdien for SMALL (nth) kommer fra en voksende rækkevidde :

 
 COLUMNS ($E:E5)

Når det kopieres over resultattabellen, udvides intervallet, hvilket får k (nth) til at stige. SMALL-funktionen returnerer hvert matchende række nummer, som leveres til INDEX-funktionen som række_num, med det navngivne rækkevidde 'navne' som array.

Håndteringsfejl

Når COLUMNS returnerer en værdi for k, der ikke findes, kaster SMALL en #NUM-fejl. Dette sker, når alle kampe har fundet sted. For at undertrykke fejlen pakker vi formlen ind i IFERROR-funktionen for at fange fejl og returnere en tom streng ('').

Forfatter Dave Bruns


^