Note: The other languages of the website are Google-translated. Back to English

Jak wyodrębnić pierwsze / ostatnie / n-te słowo z ciągu tekstowego w programie Excel?

Czy kiedykolwiek miałeś problem z wyodrębnieniem określonego słowa z ciągu tekstowego w arkuszu? Na przykład masz następujący zakres ciągów tekstowych potrzebnych do uzyskania z nich pierwszego / ostatniego lub n-tego słowa, tutaj mogę porozmawiać o kilku skutecznych sposobach rozwiązania tego problemu.


Wyodrębnij pierwsze słowo lub nazwisko z ciągu tekstowego za pomocą formuł

Jeśli chcesz wyodrębnić pierwsze słowo z listy ciągów tekstowych, pomocne mogą być poniższe formuły.

Aby wyodrębnić pierwsze słowo, wprowadź poniższą formułę do pustej komórki, a następnie przeciągnij uchwyt autouzupełniania tej komórki do zakresu według potrzeb.

= JEŻELI (ISERR (ZNAJDŹ („”; A2)), „”, LEWY (A2, ZNAJDŹ („”, A2) -1))

Aby wyodrębnić ostatnie słowo z każdej komórki, zastosuj następującą formułę:

= JEŻELI (ISERR (ZNAJDŹ (""; A2)), "", PRAWO (A2, LEN (A2) -FIND ("*", SUBSTITUTE (A2, "", "*", LEN (A2) -LEN ( SUBSTITUTE (A2, „”, „”))))))

A teraz zobaczysz, że pierwsze lub ostatnie słowo jest wyodrębniane z każdej komórki.

Uwagi: W powyższych wzorach A2 wskazuje komórkę, z której wyodrębnisz pierwsze lub ostatnie słowo.

Trudno zapamiętać długie, skomplikowane formuły? Niesamowite narzędzie pomoże Ci wyodrębnić n-te słowo wi tylko kilkoma kliknięciami!

Powyższe długie formuły mogą wyodrębnić tylko pierwsze i ostatnie słowo, ale nie będzie można wyodrębnić określonego n-tego słowa, mówi drugie słowo, szóste słowo itp. Nawet jeśli potrafisz wymyślić formuły, aby rozwiązać problem, wzory muszą być zbyt skomplikowane, aby je zapamiętać i zastosować. Tutaj zalecana jest funkcja Wyodrębnij n-te słowo w komórce Kutools for Excel, która pomoże Ci wyodrębnić n-te słowo tak łatwo, jak to tylko możliwe!


Kutools dla programu Excel - Zawiera ponad 300 przydatnych narzędzi dla programu Excel. Pełna wersja bezpłatnej wersji próbnej 30-dzień, karta kredytowa nie jest wymagana! Zdobądź To Teraz

Wyodrębnij n-te słowo z ciągu tekstowego za pomocą funkcji zdefiniowanej przez użytkownika

Jeśli chcesz wyodrębnić drugie, trzecie lub dowolne n-te słowo z ciągu tekstowego, możesz utworzyć funkcję zdefiniowaną przez użytkownika, aby sobie z tym poradzić.

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.

2, Kliknij wstawka > Modułi wklej następujący kod w Moduł okno.

Function FindWord(Source As String, Position As Integer)
'Update 20131202
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = ""
Else
    FindWord = arr(Position - 1)
End If
End Function

3. Następnie zapisz kod, w tym przykładzie otrzymam trzecie słowo z ciągu, więc wpisz tę formułę = findword (A2,3) do pustej komórki B2, a następnie przeciągnij uchwyt autouzupełniania tej komórki do zakresu według potrzeb. Zobacz zrzut ekranu:

Uwaga: W powyższym wzorze A2 to komórka, z której chcesz wyodrębnić słowo, liczba 3 wskazuje trzecie słowo w ciągu, które wyodrębnisz, i możesz je zmienić w razie potrzeby.


Wyodrębnij każde słowo z ciągu tekstowego i wypisz je poziomo lub pionowo

Ta metoda wprowadzi Kutools dla Excela Podział komórki narzędzie, aby wyodrębnić każde słowo z komórek ciągu tekstowego, a następnie wyświetlić wyodrębnione słowa poziomo lub pionowo w zależności od potrzeb.

Kutools dla programu Excel - Zawiera ponad 300 przydatnych narzędzi dla programu Excel. Pełna wersja bezpłatnej wersji próbnej 30-dzień, karta kredytowa nie jest wymagana! Bezpłatna wersja próbna teraz!

1. Wybierz komórki ciągów tekstowych, z których wyodrębnisz ich słowa, i kliknij plik Kutools > Połącz i podziel > Podział komórki.

2. W otwartym oknie dialogowym Podziel komórki określ typ podziału w Typ sekcja, sprawdź Miejsce opcja w Określ separator sekcję i kliknij przycisk Ok przycisk. Zobacz zrzut ekranu:

3. Teraz określ zakres docelowy, do którego wyodrębnisz wyodrębnione słowa, i kliknij OK przycisk

Jeśli zaznaczyłeś Podziel na kolumny opcja w powyższym oknie dialogowym Podziel komórki, każde słowo jest wyodrębniane z każdego ciągu tekstowego i wyświetlane pionowo.

Jeśli zaznaczyłeś Podziel na rzędy opcja w powyższym oknie dialogowym Podziel komórki, każde słowo jest wyodrębniane z każdego ciągu tekstowego i wyświetlane poziomo.


Wyodrębnij n-te słowo z ciągu tekstowego w programie Excel za pomocą niesamowitego narzędzia

Jeśli zainstalowałeś Kutools dla programu Excel, możesz użyć jego pomocnika formuły> Wyodrębnij n-te słowo w komórce, aby szybko wyodrębnić n-te słowo z określonej komórki.

Kutools dla programu Excel - Zawiera ponad 300 przydatnych narzędzi dla programu Excel. Pełna wersja bezpłatnej wersji próbnej 30-dzień, karta kredytowa nie jest wymagana! Bezpłatna wersja próbna teraz!

1. Wybierz komórkę, w której chcesz umieścić wyodrębnione słowo, i kliknij Kutools > Pomocnik formuły > Pomocnik formuły aby włączyć tę funkcję.

2. W oknie dialogowym pomocnika formuł wykonaj następujące czynności:
(1) Wybierz Tekst z Typ formuły Lista rozwijana;
(2) Kliknij, aby podświetlić Wyodrębnij n-te słowo z komórki Wybierz formułę skrzynka na listy;
(3) W Komórka box, określ komórkę, z której wyodrębnisz słowo;
(4) In N-ty wpisz liczbę.

3, Kliknij Ok przycisk. W razie potrzeby przeciągnij uchwyt autouzupełniania komórki z formułą i skopiuj formułę do innych komórek.


Demo: wyodrębnij każde słowo z ciągu tekstowego i wyświetl je poziomo lub pionowo


Kutools dla programu Excel zawiera ponad 300 przydatnych narzędzi dla programu Excel, które można bezpłatnie wypróbować bez ograniczeń przez 30 dni. Pobierz i bezpłatną wersję próbną teraz!

Podobne artykuły:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (38)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Ten kod vba jest fantastyczny, wielkie dzięki.
Ten komentarz został zminimalizowany przez moderatora na stronie
Ta zdefiniowana przez użytkownika funkcja jest niesamowita! Wielkie dzięki za udostępnienie tego.
Ten komentarz został zminimalizowany przez moderatora na stronie
Wielkie dzięki! Działało dobrze! :-)
Ten komentarz został zminimalizowany przez moderatora na stronie
To było BARDZO pomocne, zastanawiałem się, czy ktoś wiedział o możliwości pobrania lub skopiowaniu i wklejeniu listy przydatnych, ręcznie robionych funkcji, takich jak „FindWord”, z których mógłbym korzystać.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, zastanawiałem się tylko, co jeszcze mógłbym wstawić do formuły Visual Basic, który mógłby wyodrębnić i przecinki lub myślniki natychmiast po danych.. np. Fortin-
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, to jest doskonałe. Działa bardzo dobrze i zmniejsza nasze zmęczenie, oszczędza dużo czasu w tej operacji. Dziękuję wszystkim, którzy nad tym pracowali i dzielili się...
Ten komentarz został zminimalizowany przez moderatora na stronie
Dobry. Działało to bardzo dobrze
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, To naprawdę oszczędza dużo czasu. Dzięki za udostępnienie Czy ktoś może też zasugerować, jak możemy wyodrębnić słowa za pomocą vba w odwrotny sposób, np. ostatnie słowo to 1, drugie od prawej do lewej to 2 i tak dalej. Będzie to bardzo mile widziane.
Ten komentarz został zminimalizowany przez moderatora na stronie
To nie działa poprawnie w przypadku ciągu źródłowego składającego się z nie-słów (takich jak nazwy dostawców, po których następują numery części)
Ten komentarz został zminimalizowany przez moderatora na stronie
jak możemy zmienić czcionki dla n-tego słowa w komórce?
Ten komentarz został zminimalizowany przez moderatora na stronie
Bardzo doceniane. Bardzo mi to pomogło.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, Dziękuję za Twój fragment kodu. Zainspirowało mnie to do pewnego rozszerzenia. W kolejnych wierszach możesz wybrać: ostatnie słowo (0), przedostatni (-1), przedostatni (-2) itd. Niezależnie od ilości słów. Funkcja FindWord(Source As String, Position As Integer) 'Aktualizuj 20150504 Dim arr() As String arr = VBA.Split(Source, " ") xCount = UBound(arr) Wybierz wielkość liter -xCount do 0 FindWord = arr(xCount + Pozycja) Case 1 To (xCount + 1) FindWord = arr(Position - 1) Case Else FindWord = "" End Wybierz funkcję End
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, tylko dodatek do wczorajszego kodu. Dodaje to dodatkowy wiersz do dostosowania zbędnych spacji w ciągu źródłowym: arr = VBA.Split(WorksheetFunction.Trim(Source), " ") pozdrawiam, Allart
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzięki, Alan, to świetnie, dzięki! :)
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję bardzo DUŻO!!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć.. Dzięki za twój kod, mam listę zdań, a jedno z nich ma tylko 1 słowo, a Twój kod nie działa, jeśli ma tylko 1 słowo.
Ten komentarz został zminimalizowany przez moderatora na stronie
Nie mogę uzyskać kodu uruchamiającego pierwsze słowo, jeśli część mojej listy zawiera tylko jedno słowo w komórce. np. pierwsze słowo ---> pierwsza sekunda ---> [null] ostatnie słowo ---> ostatnie
Ten komentarz został zminimalizowany przez moderatora na stronie
Spróbuj tego (patrz moja odpowiedź powyżej): Function FindWord(Source As String, Position As Integer) ' pobiera 1st, 2nd, last(0), second to last(-2) itd., słowo z ciągu ' Update 20150505 Dim arr( ) As String arr = VBA.Split(WorksheetFunction.Trim(Source), " ") xCount = UBound(arr) Select Case Position Case -xCount To 0 FindWord = arr(Position + xCount) Case 1 To xCount + 1 FindWord = arr (Pozycja - 1) Case Else FindWord = "" End Select
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć maniacy, mam taką komórkę: 1 ABCD; 2 DEDF; 1 DED#3d; 4 FDWDS; 1 ED I chciałbym wyodrębnić znak po 1. Tak chciałem mieć wynik jak poniżej: ABCD;DED#3d;ED
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam 64-bitowy Excel 2013 i brakuje mi dodatku Morefunc. Opierając się na powyższym kodzie, wymyśliłem ten zamiennik funkcji WMID Morefunc. Byłbym wdzięczny, gdyby ktokolwiek bardziej ekspert ode mnie mógł to zrobić. Funkcja WMid1(Źródło jako ciąg, opcjonalnie pozycja jako liczba całkowita, opcjonalnie liczba słów jako liczba całkowita, opcjonalny separator jako ciąg) Dim arr() jako ciąg Dim xCount jako liczba całkowita Dim wCount jako liczba całkowita Dim wFirst jako liczba całkowita Dim wLast jako liczba całkowita Jeśli pozycja = 0 Następnie pozycja = 1 If WordCount = 0 Then WordCount = 1 If Separator = "" Then Separator = " " arr = VBA.Split(Trim(Source), Separator) xCount = UBound(arr) + 1 If Position < 1 Then wFirst = Application. Max(xCount + Pozycja - WordCount + 1, 0) wLast = xCount + Pozycja Inna wFirst = Pozycja - 1 wLast = Application.Min(xCount - 1, Position + WordCount - 2) End If xCount < 2 Lub Abs(Pozycja) > xCount Then WMid1 = "" Inaczej WMid1 = arr(wFirst) For wCount = wFirst + 1 To wLast WMid1 = WMid1 i separator & arr(wCount) Next End If WMid1 = Trim(WMid1) End Function
Nie ma tu jeszcze żadnych komentarzy
Pokaż więcej
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL