
Yleinen kaava
=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))),(N-1)*LEN(A1)+1,LEN(A1)))
Yhteenveto
Voit jakaa tekstin mielivaltaisella erottimella (pilkku, välilyönti, putki jne.) Käyttämällä TRIM-, MID-, SUBSTITUTE-, REPT- ja LEN-funktioihin perustuvaa kaavaa. Esitetyssä esimerkissä kaava kohdassa C5 on:
=TRIM(MID(SUBSTITUTE($B5,"|",REPT(" ",LEN($B5))),(C$4-1)*LEN($B5)+1,LEN($B5)))
Huomautus: viitteet B5: een ja C4: ään ovat sekaviitteitä, jotta kaava voidaan kopioida toisistaan ja alaspäin.
Selitys
Tämän kaavan ydin on korvata annettu erotin suurella määrällä välilyöntejä käyttämällä SUBSTITUTE ja REPT, ja sitten MID-toiminnon avulla poimia "n: nnen esiintymän" liittyvä teksti ja TRIM-toiminto päästäksesi eroon ylimääräisestä tilasta.
Tässä katkelmassa erotin (delim) korvataan välilyönteillä, jotka ovat yhtä suuret kuin merkkijonon kokonaispituus:
SUBSTITUTE(A1,delim,REPT(" ",LEN(A1)))
Sitten kaava käyttää MID-funktiota n: nnen alimerkkijonon purkamiseen. Lähtökohta lasketaan alla olevalla koodilla, jossa N edustaa "n: tä":
(N-1)*LEN(A1)+1
Poimittujen merkkien kokonaismäärä on yhtä suuri kuin koko tekstimerkkijonon pituus. TRIM-toiminto poistaa sitten kaikki ylimääräiset välilyönnit ja palauttaa vain n: nnen merkkijonon.
Pura vain yksi esiintymä
Vaikka esimerkki on määritetty poimimaan 5 aliosaa sarakkeen B tekstistä, voit helposti purkaa vain yhden esiintymän. Esimerkiksi vain neljännen kohteen (kaupunki) purkamiseksi voit käyttää:
=TRIM(MID(SUBSTITUTE(B5,"|",REPT(" ",LEN(B5))),(4-1)*LEN(B5)+1,LEN(B5)))
Teksti sarakkeisiin -ominaisuus
Manuaalista, kertaluonteista muuntamista varten Excelissä on sisäänrakennettu ominaisuus nimeltä "Teksti sarakkeisiin", joka voi jakaa tekstin soluihin valitsemallasi erottimella. Löydät tämän ominaisuuden valintanauhan Data-välilehdeltä Data-työkalut-osiosta.