MID -funktionsexempel - Excel, VBA och Google Sheets

Ladda ner exempel på arbetsbok

Ladda ner exempelarbetsboken

Denna handledning visar hur du använder Excel MID -funktion i Excel för att extrahera text från en cell.

MID -funktionsöversikt

MID -funktionen returnerar text från mitten av en cell, definierad av ett startnummer och antalet tecken.

Om du vill använda funktionen MID Excel -kalkylblad väljer du en cell och skriver:

(Lägg märke till hur formelinmatningarna ser ut)

MID -funktion Syntax och ingångar:

= MID (text, startnummer, num_chars)

text - En textsträng.

startnummer - Teckennumret som du ska börja välja från.

num_chars - Antalet tecken efter startnumret som ska returneras.

Så här använder du MID -funktionen i Excel:

MID -funktionen extraherar ett visst antal tecken du anger från var du vill.

= MIDT (B3, C3, D3)

Det kan utgå från vilket nummer som helst i kolumn C och valfritt antal tecken i kolumn D.

MID till gripsträng mellan olika avgränsare

Om strängen du vill ha ligger mellan två olika avgränsare är det här ganska enkelt. Till exempel kanske vi vill ha strängen mellan bindestreck ("-") och snedstreck ("/").

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

I det här fallet här kan vi använda FIND för att kontrollera vilken teckenposition strecket börjar och lägga till 1 för att börja extrahera därifrån.

Använd FIND igen för att kontrollera vilken teckenposition snedstrecket startar och minus streckets position och 1 för att få längden på strängen vi vill ha.

Du kan också använda SEARCH. Skillnaden mellan FIND och SEARCH är att den förra är skiftlägeskänslig. Att hitta en symbol som utrymme spelar ingen roll.

= MIDD (B3, HITTA ("-", B3)+1, SÖK ("/", B3) -SÖK ("-", B3) -1)

MID till gripsträng mellan samma avgränsare

Om strängen har samma avgränsare är den lite tuffare än den ovan eftersom FIND tar tag i den första förekomsten. Till exempel kanske vi vill ha strängen mellan första och andra mellanslag. Men du kan också ange en startposition i FIND.

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

Den använder FIND precis som exemplet ovan för att kontrollera vilken karaktärsposition utrymmet börjar och lägg till 1 för att börja extrahera därifrån.

Använd FIND igen för att kontrollera vilken teckenposition det andra mellanslaget börjar genom att börja hitta 1 tecken efter det första mellanslagets position.

Och slutligen minus positionen för det första utrymmet och 1 för att få längden på strängen vi vill ha.

Du kan också använda SEARCH.

= MIDD (B3, HITTA ("", B3)+1, SÖK ("", B3, HITTA ("", B3) +1) -SÖK ("", B3) -1)

MID med nummer/datum

Observera att MID är en textfunktion. Vid användning av MID blir resultatet en text. Till exempel kommer du inte att kunna summera dessa nummer i cell E3 efter att ha använt MID.

Samma sak händer för datum eftersom de känns igen som serienummer och inte som text. Du kanske inte behöver summera datum, men det fungerar inte bra i filter och pivottabeller.

För att övervinna problemen ovan kan du använda VALUE för att konvertera från text till värden.

= VÄRDE (MID (B3, FIND (":", B3)+2, FIND ("", B3, FIND ("", B3) +1) -FIND (":", B3) -2))

MID till Split med Common Delimiter

Du kanske vill dela upp alla ord i olika rader. Därav:

= TRIM (MIDD (SUBSTITUTE (B $ 3, "", REPT ("", LEN (B $ 3))), (RADER (B3: B $ 3) -1)*LEN (B $ 3)+1, LEN (B $ 3 ))))

Vad som gör är att använda SUBSTITUTE för att ersätta alla mellanslag med en tillströmning av upprepade mellanslag med REPT. Det resulterar i att texten ser ut så här:
“Excel är verkligen fantastiskt”

Tillströmningen av upprepade upprepas noggrant med en total längd av originaltexten med hjälp av LEN. Det betyder att positionsnumret att börja extrahera från är en multipel av den totala längden. För det första ordet, extrahera från position 1. För det andra kommer det att vara total längd + 1. För det tredje, total längd x 2 + 1. Etc. För att få det n: a ordet, använd RADER.

Slutligen använder antalet tecken alltid den totala längden på originaltexten.

Hitta N: a ordet i strängen

Vi kan kombinera TRIM, LEN, SUBSTITUTE, REPT med MID enligt följande för att få det sista ordet i strängen.

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

Vilket skulle ge oss följande resultat:

Vänd en textsträng

Du kan vända en textsträng genom att kombinera MID -funktionen med TEXTJOINT enligt följande.

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

Vilket skulle ge oss följande resultat:

MID i Google Kalkylark

MID -funktionen fungerar exakt samma i Google Kalkylark som i Excel:

Ytterligare anmärkningar

Om num_chars är större än textens återstående längd returnerar MID -funktionen all återstående text.

MID -exempel i VBA

Du kan också använda MID -funktionen i VBA. Typ:
application.worksheetfunction.mid (text, startnummer, num_chars)
För funktionsargumenten (text, etc.) kan du antingen ange dem direkt i funktionen eller definiera variabler som ska användas istället.

Återgå till listan över alla funktioner i Excel

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave