Excel-formel: Konvertera sträng till array -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att konvertera en sträng till en matris som innehåller ett objekt för varje bokstav kan du använda en matrisformel baserad på funktionerna MID, RAD, LEN och INDIREKT. Detta kan ibland vara användbart i andra formler som manipulerar text på karaktärsnivå.

I exemplet som visas är formeln i C5:

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

Obs: detta är en matrisformel och måste anges med kontroll + skift + enter.

Förklaring

Arbetar inifrån och ut, LEN-funktionen beräknar strängens längd, och detta sammanfogas av sammanfogning till "1:", vilket skapar ett textintervall så här: "1: 3"

Denna text skickas till INDIRECT, som utvärderar texten som en referens och returnerar resultatet till ROW-funktionen. ROW-funktionen returnerar raderna som finns i referensen i en array med siffror så här:

(1;2;3)

Observera att vi har ett nummer för varje bokstav i originaltexten.

Denna matris går in i MID-funktionen för argumentet start_num. Texten kommer från kolumn B och antalet tecken är hårdkodade som 1

Slutligen, med flera startnummer, returnerar MID flera resultat i en sådan matris.

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

Intressanta artiklar...