Excel-formule: tekenreeks converteren naar matrix -

Inhoudsopgave

Generieke formule

(=MID(string,ROW(INDIRECT("1:"&LEN(string))),1))

Samenvatting

Om een ​​string te converteren naar een array die één item voor elke letter bevat, kunt u een matrixformule gebruiken die is gebaseerd op de MID-, ROW-, LEN- en INDIRECT-functies. Dit kan soms handig zijn binnen andere formules die tekst op tekenniveau manipuleren.

In het getoonde voorbeeld is de formule in C5:

(=MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1))

Opmerking: dit is een matrixformule en moet worden ingevoerd met control + shift + enter.

Uitleg

De LEN-functie werkt van binnen naar buiten en berekent de lengte van de string, en deze wordt samengevoegd door aaneenschakeling tot "1:", waardoor een tekstbereik wordt gecreëerd als volgt: "1: 3"

Deze tekst wordt doorgegeven aan INDIRECT, die de tekst evalueert als een verwijzing en het resultaat retourneert aan de functie RIJ. De functie RIJ retourneert de rijen in de verwijzing in een reeks getallen als volgt:

(1;2;3)

Merk op dat we één cijfer hebben voor elke letter in de originele tekst.

Deze array gaat naar de MID-functie, voor het argument start_num. De tekst komt uit kolom B en het aantal tekens is hardgecodeerd als 1

Ten slotte retourneert MID bij meerdere startnummers meerdere resultaten in een array als deze.

("R";"e";"d")

Interessante artikelen...