Excel-formule: extraheer de laatste twee woorden uit cel -

Inhoudsopgave

Generieke formule

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

Samenvatting

Om de laatste twee woorden uit een cel te extraheren, kunt u een formule gebruiken die is samengesteld met verschillende Excel-functies, waaronder MIDDEN, FIND, SUBSTITUTE en LEN. In het getoonde voorbeeld is de formule in C5:

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

Uitleg

In de kern gebruikt deze formule de MID-functie om tekens te extraheren vanaf de voorlaatste spatie. De MID-functie heeft 3 argumenten: de tekst om mee te werken, de startpositie en het aantal tekens dat moet worden geëxtraheerd.

De tekst komt uit kolom B en het aantal tekens kan elk groot aantal zijn dat ervoor zorgt dat de laatste twee woorden worden geëxtraheerd. De uitdaging is om de startpositie te bepalen, namelijk net na de voorlaatste spatie. Het slimme werk wordt voornamelijk gedaan met de SUBSTITUTE-functie, die een optioneel argument heeft met de naam instantienummer. Deze functie wordt gebruikt om de voorlaatste spatie in de tekst te vervangen door het teken "@", dat vervolgens met de functie FIND wordt gevonden.

Het onderstaande fragment werkt van binnen naar buiten en berekent hoeveel spaties er in het totaal van de tekst zijn, waarvan 1 wordt afgetrokken.

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

In het getoonde voorbeeld zijn er 5 spaties in de tekst, dus de bovenstaande code retourneert 4. Dit nummer wordt in de buitenste SUBSTITUTE-functie ingevoerd als instantienummer:

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

Dit zorgt ervoor dat SUBSTITUTE de vierde spatie vervangt door "@". De keuze voor @ is willekeurig. U kunt elk teken gebruiken dat niet in de originele tekst voorkomt.

Vervolgens zoekt de FIND het teken "@" in de tekst:

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

Het resultaat van FIND is 17, waarbij 1 wordt opgeteld om 18 te krijgen. Dit is de startpositie en gaat in de MID-functie als tweede argument. Voor de eenvoud is het aantal te extraheren tekens hardgecodeerd als 100. Dit aantal is willekeurig en kan aan de situatie worden aangepast.

Haal de laatste N woorden uit de cel

Deze formule kan worden gegeneraliseerd om de laatste N woorden uit een cel te extraheren door de hardgecodeerde 1 in het voorbeeld te vervangen door (N-1). Bovendien, als u veel woorden extraheert, wilt u misschien het hardcoded argument in MID, 100, vervangen door een groter getal. Om u te garanderen dat het aantal groot genoeg is, kunt u de LEN-functie eenvoudig als volgt gebruiken:

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

Interessante artikelen...