Excel-formel: Omvendt tekststreng -

Innholdsfortegnelse

Generisk formel

=TEXTJOIN("",1,MID(A1,(10,9,8,7,6,5,4,3,2,1),1))

Sammendrag

Du kan reversere en tekststreng med TEXTJOIN- og MID-funksjonene ved å bruke en matrisekonstant. I eksemplet vist er formelen i C5:

=TEXTJOIN("",1,MID(B5,(10,9,8,7,6,5,4,3,2,1),1))

Forklaring

I kjernen bruker denne formelen MID-funksjonen til å trekke ut hvert tegn i en tekststreng i omvendt rekkefølge. Starttegnet er gitt som en liste over tall i synkende rekkefølge hardkodet som matrisekonstant:

MID(B5,(10,9,8,7,6,5,4,3,2,1),1)

Tekstargumentet kommer B5, og 1 er spesifisert for antall tegn som skal trekkes ut.

Med strengen "ABCD" i B5 er utgangen fra MID en matrise som ser slik ut:

("","","","","","","D","C","B","A")

Denne matrisen blir matet inn i TEXTJOIN-funksjonen som argumentet text1, med skilletegn satt til en tom streng (""), og ignorerer tomt sett til SANT (angitt som 1):

=TEXTJOIN("",1,("","","","","","","D","C","B","A"))

TEXTJOIN-funksjonen sammenkobler hvert element i matrisen sammen, ignorerer blanke og returnerer det endelige resultatet, "DCBA"

Dynamisk matrise

Matrisekonstanten i eksemplet ovenfor vil bare støtte streng opptil 10 tegn. For å bruke en dynamisk matrise som skalerer til riktig størrelse, kan du bruke en mer komplisert formel som denne

=TEXTJOIN("",1,MID(B5,ABS(ROW(INDIRECT("1:"&LEN(B5)))-(LEN(B5)+1)),1))

Mer informasjon om generering av en rekke tall her.

Dynamisk matrise med SEKVENS

Forfaller en gang i 2019 via Office 365-abonnement, er SEQUENCE-funksjonen laget for å generere dynamiske nummerarrayer. Med SEQUENCE ser en dynamisk løsning slik ut:

=TEXTJOIN("",1,MID(B5,SEQUENCE(LEN(B5),,LEN(B5),-1),1))

Interessante artikler...