Примери за MID функции - Excel, VBA и Google Sheets

Изтеглете Примерна работна книга

Изтеглете примерната работна книга

Този урок демонстрира как да използвате MID функция на Excel в Excel за извличане на текст от клетка.

Преглед на функцията MID

Функцията MID Връща текст от средата на клетка, дефиниран от начален номер и броя на знаците.

За да използвате функцията MID Excel на работен лист, изберете клетка и въведете:

(Забележете как се появяват входовете на формулата)

MID функция Синтаксис и входове:

= MID (текст, начален_ номер, номер_чарси)

текст - Низ текст.

start_num - Номерът на знака, от който да започнете избора си.

num_chars - Броят на знаците след началния_ номер за връщане.

Как да използвате функцията MID в Excel:

Функцията MID извлича определен брой знаци, които посочвате, от където и да искате.

= MID (B3, C3, D3)

Тя може да започне от всяко число, видяно в колона C, и произволен брой знаци в колона D.

MID за хващане на низ между различен разделител

Ако низът, който искате, е между два различни разделителя, това е доста ясен. Например, може да искаме низът между тире (“-”) и наклонена черта (“/”).

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

В този случай тук можем да използваме FIND, за да проверим коя позиция на знака започва тирето и да добавим 1, за да започнем извличането от там.

Използвайте FIND отново, за да проверите от коя позиция на символа започва наклонената черта и минус позицията на тирето и 1, за да получите дължината на желания низ.

Можете също да използвате SEARCH. Разликата между FIND и SEARCH е, че първата е чувствителна към регистъра. Намирането на символ като пространство няма да има значение.

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

MID за хващане на низ между същия разделител

Ако низът има същия разделител, той е малко по -твърд от този по -горе, защото FIND улавя първото събитие. Например, може да искаме низът между първото и второто пространство. Но можете да посочите начална позиция и в НАМЕРИ.

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

Той използва FIND точно както горния пример, за да провери коя позиция на знака започва интервала и да добави 1, за да започне извличането от там.

Използвайте FIND отново, за да проверите коя позиция на знака започва второто интервал, като започнете да намирате 1 символ след позицията на първия интервал.

И накрая минус позицията на първото интервал и 1, за да се получи дължината на низа, който искаме.

Можете също да използвате SEARCH.

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

MID с номер/дати

Имайте предвид, че MID е текстова функция. При използване на MID резултатът е текст. Например няма да можете да сумирате тези числа в клетка E3 след използване на MID.

За датите се случва същото, тъй като те се разпознават като серийни номера, а не като текст. Може да не се наложи да сумирате дати, но не работи добре във филтри и обобщени таблици.

За да преодолеете горните проблеми, можете да използвате VALUE за преобразуване от текст в стойности.

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

MID към разделяне чрез Common Delimiter

Може да искате да разделите всички думи в различни редове. Следователно:

= TRIM (MID (ЗАМЕСТНИК (B $ 3, "", REPT ("", LEN (B $ 3))), (ROWS (B3: B $ 3) -1)*LEN (B $ 3)+1, LEN (B $ 3 )))

Това, което прави, е да използвате SUBSTITUTE, за да замените всички пространства с приток на повтарящи се пространства, използвайки REPT. В резултат текстът изглежда така:
„Excel е наистина страхотен“

Притокът на повтарящи се внимателно се повтаря с обща дължина на оригиналния текст с помощта на LEN. Това означава, че номерът на позицията, от който да започнете извличане, е кратен на общата дължина. За първата дума извлечете от позиция 1. За втората тя ще бъде обща дължина + 1. За третата обща дължина x 2 + 1. И т.н. За да получите n -тата дума, използвайте ROWS.

И накрая, броят на знаците винаги използва общата дължина на оригиналния текст.

Намерете N -та дума в низа

Можем да комбинираме TRIM, LEN, SUBSTITUTE, REPT с MID, както следва, за да получим последната дума от низа.

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

Което би ни дало следните резултати:

Обърнете текстов низ

Можете да обърнете текстов низ, като комбинирате функцията MID с TEXTJOINT, както следва.

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

Което би ни дало следните резултати:

MID в Google Таблици

Функцията MID работи абсолютно същото в Google Sheets като в Excel:

допълнителни бележки

Ако num_chars е по -голямо от оставащата дължина на текста, функцията MID връща целия оставащ текст.

Примери за MID във VBA

Можете също да използвате функцията MID във VBA. Тип:
application.worksheetfunction.mid (текст, начален_ номер, номер_чарси)
За аргументите на функцията (текст и т.н.) можете или да ги въведете директно във функцията, или да определите променливи, които да използвате вместо това.

Връщане към списъка с всички функции в Excel

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave