Formuła programu Excel: wyodrębnij ostatnie dwa słowa z komórki -

Spisie treści

Formuła ogólna

=MID(A1,FIND("@",SUBSTITUTE(A1," ","@",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))-1))+1,100)

Podsumowanie

Aby wyodrębnić ostatnie dwa słowa z komórki, możesz użyć formuły zbudowanej z kilku funkcji programu Excel, takich jak ŚRED, ZNAJDŹ, PODSTAW i DŁ. W przedstawionym przykładzie formuła w C5 to:

=MID(B5,FIND("@",SUBSTITUTE(B5," ","@",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-1))+1,100)

Wyjaśnienie

Zasadniczo ta formuła wykorzystuje funkcję MID do wyodrębniania znaków, począwszy od przedostatniej spacji. Funkcja MID przyjmuje 3 argumenty: tekst do pracy, pozycję początkową i liczbę znaków do wyodrębnienia.

Tekst pochodzi z kolumny B, a liczba znaków może być dowolną dużą liczbą, która zapewni wyodrębnienie dwóch ostatnich słów. Wyzwaniem jest określenie pozycji startowej, która znajduje się tuż za przedostatnią przestrzenią. Sprytna praca jest wykonywana głównie za pomocą funkcji SUBSTITUTE, która ma opcjonalny argument o nazwie numer instancji. Ta funkcja służy do zastępowania przedostatniej spacji w tekście znakiem „@”, który jest następnie umieszczany za pomocą funkcji ZNAJDŹ.

Działając od wewnątrz na zewnątrz, poniższy fragment pokazuje, ile spacji znajduje się w całości tekstu, od których odejmuje się 1.

LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-1

W pokazanym przykładzie tekst zawiera 5 spacji, więc powyższy kod zwraca 4. Ta liczba jest wprowadzana do zewnętrznej funkcji SUBSTITUTE jako numer instancji:

SUBSTITUTE(B5," ","@",4)

Powoduje to, że SUBSTITUTE zamienia czwarty znak spacji na „@”. Wybór @ jest arbitralny. Możesz użyć dowolnego znaku, który nie pojawi się w oryginalnym tekście.

Następnie ZNAJDŹ lokalizuje znak „@” w tekście:

FIND("@","A stitch in time@saves nine")

Wynik funkcji ZNAJDŹ to 17, do którego dodaje się 1, aby uzyskać 18. To jest pozycja początkowa i przechodzi do funkcji MID jako drugi argument. Dla uproszczenia liczba znaków do wyodrębnienia jest zakodowana na stałe jako 100. Ta liczba jest dowolna i może być dostosowana do sytuacji.

Wyodrębnij ostatnie N słów z komórki

Tę formułę można uogólnić w celu wyodrębnienia ostatnich N słów z komórki, zastępując zakodowane na stałe 1 w przykładzie na (N-1). Ponadto, jeśli wyodrębniasz wiele słów, możesz chcieć zamienić zakodowany na stałe argument w MID, 100, większą liczbą. Aby zagwarantować, że liczba jest wystarczająco duża, możesz po prostu użyć funkcji DŁ w następujący sposób:

=MID(B5,FIND("@",SUBSTITUTE(B5," ","@",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))-(N-1)))+1,LEN(B5))

Interesujące artykuły...