Excel-formule: tekenreeks omkeren -

Inhoudsopgave

Generieke formule

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

Samenvatting

U kunt een tekstreeks omkeren met de TEXTJOIN- en MID-functies door een matrixconstante te gebruiken. In het getoonde voorbeeld is de formule in C5:

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

Uitleg

In de kern gebruikt deze formule de MID-functie om elk teken van een tekstreeks in omgekeerde volgorde te extraheren. Het startteken wordt gegeven als een lijst met getallen in aflopende volgorde, hard gecodeerd als matrixconstante:

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

Het tekstargument is B5 en 1 is opgegeven voor het aantal tekens dat moet worden geëxtraheerd.

Met de string "ABCD" in B5 is de uitvoer van MID een array die er als volgt uitziet:

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

Deze array wordt in de TEXTJOIN-functie ingevoerd als het text1-argument, met het scheidingsteken ingesteld op een lege tekenreeks (""), en negeer blanco ingesteld op TRUE (ingevoerd als 1):

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

De TEXTJOIN-functie voegt elk element in de array samen, negeert spaties en retourneert het eindresultaat, "DCBA"

Dynamische reeks

De matrixconstante in het bovenstaande voorbeeld ondersteunt alleen tekenreeksen van maximaal 10 tekens. Als u een dynamische array wilt gebruiken die naar de juiste grootte wordt geschaald, kunt u een meer gecompliceerde formule als deze gebruiken

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

Meer informatie over het genereren van een reeks getallen vindt u hier.

Dynamische array met SEQUENCE

Ergens in 2019 via een Office 365-abonnement, is de SEQUENCE-functie gemaakt om dynamische nummerreeksen te genereren. Met SEQUENCE ziet een dynamische oplossing er als volgt uit:

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

Interessante artikelen...