Excel képlet: Szöveg levágása n szóra -

Tartalomjegyzék

Általános képlet

=LEFT(txt,FIND("#",SUBSTITUTE(txt," ","#",n))-1)

Összegzés

Ha a szöveget bizonyos számú szóra kívánja vágni, használhatja a SUBSTITUTE, FIND és LEFT függvényen alapuló képletet. A bemutatott példában az xxx képlete a következő:

=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)

Magyarázat

Szükségünk van arra, hogy a szöveget fel tudjuk osztani egy bizonyos jelölőn, amely megfelel egy bizonyos számú szónak. Az Excel nem rendelkezik beépített függvénnyel a szöveg szavakra való elemzéséhez, ezért a SUBSTITUTE függvény "példány" argumentumát használva az "n-edik szóköz" karaktert font fontra (#) cserélje, majd a KERES és a BAL billentyűkkel törölje az összeset szöveg a jelölő után.

Belülről kifelé haladva a SUBSTITUTE úgy van beállítva, hogy kicserélje egy szóköz n-edik előfordulását, ahol n a C oszlopból származik, a szöveg a B oszlopból származik, és a "#" kemény kódolású.

=SUBSTITUTE(B5," ","#",C5) =SUBSTITUTE("The cat sat on the mat."," ","#",3) ="The cat sat#on the mat."

Az így kapott karakterlánc visszakerül a FIND függvénybe, konfigurálva a "#" keresésére.

=FIND("#","The cat sat#on the mat.)

Mivel a "#" a szöveg 12. karaktere, a FIND 12. értéket ad vissza. Magát a szóköz karaktert nem akarjuk belefoglalni, ezért kivonjuk az 1 értéket:

=LEFT(B5,12-1) =LEFT(B5,11)

A BAL bal végeredményt adja vissza a képletből: "A macska ült".

Megjegyzés: a font karakter ("#") tetszőleges, és helyettesíthető bármely olyan karakterrel, amely nem jelenik meg a szövegben.

Add elipszist vagy más karaktert

Ha a "…" szót hozzá szeretné adni a vágott szöveg végéhez, használja az alábbi összefűzést:

=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)&"… "

A "…" szó helyettesíthető bármivel, ami tetszik.

érdekes cikkek...