
Formuła ogólna
=LEFT(txt,FIND("#",SUBSTITUTE(txt," ","#",n))-1)
Podsumowanie
Aby przyciąć tekst do określonej liczby słów, możesz użyć formuły opartej na funkcjach SUBSTITUTE, FIND i LEFT. W przedstawionym przykładzie formuła w xxx to:
=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)
Wyjaśnienie
Potrzebujemy sposobu na podzielenie tekstu w określonym znaczniku, który odpowiada określonej liczbie słów. Program Excel nie ma wbudowanej funkcji do analizowania tekstu po słowie, więc używamy argumentu „wystąpienie” funkcji SUBSTITUTE, aby zastąpić znak „n-tej spacji” znakiem krzyżyka (#), a następnie użyj funkcji ZNAJDŹ i W LEWO, aby odrzucić wszystko tekst po znaczniku.
Działając od wewnątrz, SUBSTITUTE jest skonfigurowany tak, aby zastąpić n-te wystąpienie spacji, gdzie n pochodzi z kolumny C, tekst pochodzi z kolumny B, a znak „#” jest zakodowany na stałe.
=SUBSTITUTE(B5," ","#",C5) =SUBSTITUTE("The cat sat on the mat."," ","#",3) ="The cat sat#on the mat."
Wynikowy ciąg jest zwracany do funkcji FIND, skonfigurowanej do wyszukiwania znaku „#”.
=FIND("#","The cat sat#on the mat.)
Ponieważ „#” jest dwunastym znakiem w tekście, funkcja ZNAJDŹ zwraca 12. Nie chcemy uwzględniać samego znaku spacji, więc odejmujemy 1:
=LEFT(B5,12-1) =LEFT(B5,11)
LEWO zwraca wynik końcowy ze wzoru „Kot siedział”.
Uwaga: znak krzyżyka („#”) jest dowolny i można go zastąpić dowolnym znakiem, który nie pojawi się w tekście.
Dodaj elipsy lub inną postać
Aby dodać „…” na końcu przyciętego tekstu, użyj konkatenacji w następujący sposób:
=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)&"… "
Możesz zastąpić „…” czymkolwiek zechcesz.