Formuła programu Excel: przycinanie tekstu do n słów -

Spisie treści

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.

Interesujące artykuły...