![](https://cdn.wiki-base.com/1075715/excel_formula_trim_text_to_n_words__2.png.webp)
Á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.