Изтеглете примерната работна книга
Този урок демонстрира как да използвате 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