Voorbeelden van MID-functies - Excel, VBA en Google Spreadsheets

Voorbeeldwerkboek downloaden

Download het voorbeeldwerkboek

Deze tutorial laat zien hoe je de Excel MID-functie in Excel om tekst uit een cel te extraheren.

Overzicht MID-functie

De MID-functie Retourneert tekst uit het midden van een cel, gedefinieerd door een startnummer en het aantal tekens.

Om de MID Excel-werkbladfunctie te gebruiken, selecteert u een cel en typt u:

(Let op hoe de formule-invoer verschijnt)

MID-functie Syntaxis en ingangen:

= MIDDEN(tekst,start_getal,aantal_tekens)

tekst - Een reeks tekst.

start_num - Het tekennummer van waaruit u uw selectie begint.

aantal_tekens - Het aantal tekens na het start_num dat moet worden geretourneerd.

Hoe de MID-functie in Excel te gebruiken:

De MID-functie extraheert een specifiek aantal tekens dat u opgeeft van waar u maar wilt.

=MID(B3,C3,D3)

Het kan beginnen met elk nummer in kolom C en een willekeurig aantal tekens in kolom D.

MID om tekenreeks tussen verschillende scheidingstekens te grijpen

Als de gewenste string tussen twee verschillende scheidingstekens staat, is dit een vrij eenvoudige. We willen bijvoorbeeld de tekenreeks tussen streepje ("-") en schuine streep ("/").

=MID(B3,FIND("-",B3)+1,FIND("/",B3)-FIND("-",B3)-1)

In dit geval kunnen we FIND gebruiken om te controleren op welke tekenpositie het streepje begint en 1 toevoegen om vanaf daar te beginnen met extraheren.

Gebruik opnieuw FIND om te controleren op welke tekenpositie de schuine streep begint en minus de positie van het streepje en 1 om de lengte van de gewenste tekenreeks te verkrijgen.

U kunt ook ZOEKEN gebruiken. Het verschil tussen FIND en SEARCH is dat de eerste hoofdlettergevoelig is. Het vinden van een symbool zoals ruimte zou er niet toe doen.

=MID(B3,FIND("-",B3)+1,SEARCH("/",B3)-SEARCH("-",B3)-1)

MID om tekenreeks tussen hetzelfde scheidingsteken te grijpen

Als de tekenreeks hetzelfde scheidingsteken heeft, is het iets moeilijker dan het bovenstaande, omdat FIND het eerste voorkomen grijpt. We willen bijvoorbeeld de tekenreeks tussen de eerste en tweede spatie. Maar je kunt ook een startpositie aangeven in FIND.

=MID(B3,FIND(" ",B3)+1,FIND(" ",B3,FIND(" ",B3)+1)-FIND(" ",B3)-1)

Het gebruikt FIND net als het bovenstaande voorbeeld om te controleren op welke tekenpositie de spatie begint en voegt 1 toe om vanaf daar te beginnen met extraheren.

Gebruik opnieuw FIND om te controleren op welke tekenpositie de tweede spatie begint door 1 teken na de positie van de eerste spatie te zoeken.

En als laatste minus de positie van de eerste spatie en 1 om de lengte van de gewenste string te verkrijgen.

U kunt ook ZOEKEN gebruiken.

=MID(B3,FIND(" ",B3)+1,SEARCH(" ",B3,FIND(" ",B3)+1)-SEARCH(" ",B3)-1)

MIDDEN met nummer/datums

Houd er rekening mee dat MID een tekstfunctie is. Bij gebruik van MID is het resultaat een tekst. U kunt deze getallen bijvoorbeeld niet optellen in cel E3 nadat u MID hebt gebruikt.

Hetzelfde gebeurt voor datums, omdat ze worden herkend als serienummers en niet als tekst. U hoeft datums misschien niet op te tellen, maar het werkt niet goed in filters en draaitabellen.

Om de bovenstaande problemen op te lossen, kunt u VALUE gebruiken om tekst naar waarden om te zetten.

=WAARDE(MID(B3,FIND(":",B3)+2,FIND(" ",B3,FIND(" ",B3)+1)-FIND(":",B3)-2))

MID naar splitsen door gemeenschappelijk scheidingsteken

Misschien wilt u alle woorden in verschillende rijen splitsen. Vandaar:

=TRIM(MID(VERVANGING(B$3," ",REPT(" ",LEN(B$3))),(ROWS(B3:B$3)-1)*LEN(B$3)+1,LEN(B$3 )))

Wat het doet, is SUBSTITUTE gebruiken om alle spaties te vervangen door een instroom van herhaalde spaties met behulp van REPT. Het resultaat is dat de tekst er als volgt uitziet:
“Excel is echt geweldig”

De instroom van herhaald wordt zorgvuldig herhaald met een totale lengte van de originele tekst met behulp van LEN. Dat betekent dat het positienummer om te beginnen met extraheren een veelvoud is van de totale lengte. Voor het eerste woord, extraheer uit positie 1. Voor het tweede is het totale lengte + 1. Voor het derde, totale lengte x 2 + 1. Enz. Gebruik RIJEN om het nde woord te krijgen.

Ten slotte is het aantal tekens altijd gebaseerd op de totale lengte van de originele tekst.

Zoek het N-de woord in de string

We kunnen TRIM, LEN, SUBSTITUTE, REPT met MID als volgt combineren om het laatste woord van de string te krijgen.

=TRIM(MID(VERVANG(A$2," ",REPT(" ",LEN(A$2))), (B2-1)*LEN(A$2)+1, LEN(A$2)))

Wat ons de volgende resultaten zou geven:

Een tekenreeks omkeren

U kunt een tekenreeks omkeren door de MID-functie als volgt te combineren met TEXTJOINT.

=TEXTJOIN("",1,MID(A2,{10,9,8,7,6,5,4,3,2,1},1))

Wat ons de volgende resultaten zou geven:

MID in Google Spreadsheets

De MID-functie werkt in Google Spreadsheets precies hetzelfde als in Excel:

extra notities

Als aantal_tekens groter is dan de resterende lengte van de tekst, retourneert de MID-functie alle resterende tekst.

MID-voorbeelden in VBA

U kunt ook de MID-functie in VBA gebruiken. Type:
application.worksheetfunction.mid(text,start_num,num_chars)
Voor de functieargumenten (tekst, enz.), kunt u ze ofwel rechtstreeks in de functie invoeren, of variabelen definiëren om in plaats daarvan te gebruiken.

Keer terug naar de lijst met alle functies in Excel

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave