На чтение 1 мин
Функция ПСТР (MID) в Excel используется для отображения куска текста из строки по заданному количеству символов.
Содержание
- Что возвращает функция
- Синтаксис
- Аргументы функции
- Дополнительная информация
- Примеры использования функции ПСТР в Excel
Что возвращает функция
Возвращает часть строки из текста.
Больше лайфхаков в нашем Telegram Подписаться
Синтаксис
=MID(text, start_num, num_chars) — английская версия
=ПСТР(текст;начальная_позиция;число_знаков) — русская версия
Аргументы функции
- text (текст) — текст из которого вы хотите отобразить часть;
- start_num (начальная_позиция) — стартовая позиция внутри текста, с которой будет производиться отображение части текста;
- num_chars (число_знаков) — суммарное количество символов, которое вы хотите отобразить из заданного текста.
Дополнительная информация
- Функция учитывает пробелы как отдельные символы;
- Для того, чтобы удалить лишние пробелы из текста, используйте функцию СЖПРОБЕЛЫ;
- Если стартовая позиция, с которой должно начаться отображение части текста больше чем количество символов в тексте, то функция вернет пустую ячейку;
- Функция выдаст ошибку, если стартовая позиция меньше «1» или равно отрицательному значению.
Примеры использования функции ПСТР в Excel
Access для Microsoft 365 Access 2021 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Еще…Меньше
Возвращает значение типа Variant (String), содержащее указанное число символов строки.
Синтаксис
Mid(
строка, начало
[, длина] )
Функция Mid имеет следующие аргументы:
Аргумент |
Описание |
|
Обязательный аргумент. строковое выражение, из которых возвращаются символы. Если строка содержит NULL, возвращается NULL. |
|
Обязательный аргумент. Long. Положение знака в строке, с которой начинается заемная часть. Если значение «начало» превышает количество знаков в строке, то mid возвращает нулевую строку («»). |
|
Необязательный аргумент. Variant (Long). Количество возвращаемого символа. Если этот текст опущен или длина строки меньше, возвращаются все знаки от позиции начала до конца строки. |
Замечания
Чтобы определить количество знаков в строке, используйте функцию Len.
Примечание: Используйте функцию MidB для работы с содержащимися в строке байтами, например в языках с двухбайтовыми кодировками (DBCS). Вместо количества знаков в аргументе этой функции указывается количество байтов. Образец кода с использованием функции MidB приведен во втором примере.
Примеры запросов
|
|
SELECT ProductID, Mid(ProductID,5) AS Expr1 FROM ProductSales; |
Возвращает «ProductID» и часть ProductID, начиная с позиции знака 5, и отображает результаты в столбце «Вырасть1». |
SELECT ProductID, Mid(ProductID,5,4) AS testMid FROM ProductSales; |
Возвращает «ProductID» и часть productID, начиная с позиции знака 5, содержащую 4 знака, и отображает результаты в столбце testMid. |
Примеры VBA
Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.
В первом примере с помощью функции Mid возвращается указанное количество знаков строки.
Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo" ' Create text string.
FirstWord = Mid(MyString, 1, 3) ' Returns "Mid".
LastWord = Mid(MyString, 14, 4) ' Returns "Demo".
MidWords = Mid(MyString, 5) ' Returns "Function Demo".
Во втором примере с использованием функции MidB и определяемой пользователем функции (MidMbcs) также возвращаются знаки из строки. Отличие от первого примера состоит в том, что исходная строка представляет собой строку ANSI и ее длина выражена в байтах.
Function MidMbcs(ByVal str as String, start, length)
MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), _
start, length), vbUnicode)
End Function
Dim MyString
MyString = "AbCdEfG"
' Where "A", "C", "E", and "G" are DBCS and "b", "d",
' and "f" are SBCS.
MyNewString = Mid(MyString, 3, 4)
' Returns ""CdEf"
MyNewString = MidB(MyString, 3, 4)
' Returns ""bC"
MyNewString = MidMbcs(MyString, 3, 4)
' Returns "bCd"
Нужна дополнительная помощь?
Функция MID в Excel является функцией группы функций Text, вы используете функцию MID, если хотите вырезать строку в середине текстовой строки при обработке строки. Если вы не знаете или не понимаете функцию MID, вы можете обратиться к статье о том, как использовать функцию MID, с примером, показанным ниже.
В этой статье вы найдете описание, синтаксис и примеры использования функции MID. Приглашаем вас продолжить.
Функция MID — это функция, которая разрезает строку посередине, возвращая определенное количество символов из текстовой строки, а позиция для вырезания строки будет указана вами.
Функция MID всегда считает каждый символ как 1, будь то однобайтный или двухбайтный, независимо от языковых настроек по умолчанию?
Синтаксис функции MID
= MID (текст; начальное_число; число_символов)
Внутри:
- Текст — обязательный аргумент, это текстовая строка, содержащая символы, которые вы хотите получить.
- start_num — обязательный аргумент, это позиция первого символа, который функция MID должна принимать в текстовой строке.
- num_chars — обязательный аргумент, это количество символов, которое функция MID должна возвращать, начиная с позиции start_num.
Примечание
- Если num_chars (num_chars — отрицательное число), функция MID возвращает #VALUE! Значение ошибки.
- Если start_num, функция MID возвращает @VALUE! Значение ошибки.
- Если start_num больше длины текста, функция MID возвращает пустой текст (»).
- Если start_num меньше длины текста, но start_num плюс num_chars больше длины текстовой строки, функция MID возвращается от start_num к последнему символу текста.
Пример функции MID
Пример 1. Используйте функцию MID, чтобы извлечь 3 символа из строки «Функция MID в Excel», начиная с позиции 5.
Вы можете ввести строку непосредственно в функцию MID, где start_num равно 5, а количество символов, сокращающих num_chars, равно 3.
= MID («Функция MID в Excel»; 5; 3)
Или вы можете обратиться к ячейке, содержащей строку для извлечения.
Пример 2: Объедините функцию MID с функциями VLOOKUP, LEFT и IF для обработки следующей таблицы данных.
Как работать с ценой за единицу:
- Используя VLOOKUP для поиска 2 символов слева от кода заказа (используя LEFT) для поиска в таблице розничных / оптовых цен, возвращаемое значение функции VLOOKUP вы используете функцию IF, если 4-й символ в коде If заказ S, то будет возвращено соответствующее значение в графе 3 Прейскуранта. Если возвращается L (кроме S), будет возвращено соответствующее значение в четвертом столбце таблицы цен. Что касается функции ЕСЛИ, вам нужно разделить четвертый символ кода заказа — S или L.
Если вы не понимаете функцию VLOOKUP, вы можете узнать больше об использовании функции VLOOKUP здесь http://TipsMake.vn/ham-vlookup-in-excel/
В частности, вы вводите следующую формулу функции в ячейку E6
= ВПР (ЛЕВО (B6; 2); A16: D19; ЕСЛИ (MID (B6; 4; 1) = «S»; 3; 4); 0)
Внутри:
- LEFT (B6; 2) возвращает первые 2 символа в коде заказа, эти 2 символа являются строками для поиска.
- A16: D19 — это таблица обнаружения, которая представляет собой оптовый / розничный прайс-лист.
- IF (MID (B6; 4; 1) = «S»; 3; 4) Эта функция IF вернет значение 3 или 4, которое является позицией столбца, который возвращает соответствующие данные в таблице поиска.
- 0 — правильный тип обнаружения.
Затем, если вы хотите скопировать формулу функции Vlookup с помощью LEFT, IF, MID, тогда, когда вы вводите формулу Vlookup в оптовый / розничный прайс-лист A16: A19, нажмите клавишу F4, чтобы исправить это табличное пространство. Теперь функция Vlookup будет выглядеть так:
= ВПР (ЛЕВО (B6; 2); $ A $ 16: $ D $ 19; ЕСЛИ (MID (B6; 4; 1) = «S»; 3; 4); 0)
Вам просто нужно скопировать формулу.
Чтобы вычислить столбец Тхань Тьен, вам нужно всего лишь использовать оператор *, чтобы умножить SL Sales SL на найденную цену единицы и скопировать формулу в ячейки ниже. Итак, ваш лист данных обработан.
Таким образом, в статье используется общий синтаксис, например, как использовать функцию MID в Excel. Надеюсь, благодаря этой статье вы лучше поймете функцию MID. Вы можете гибко комбинировать функцию MID с другими функциями, чтобы получить от нее максимальную отдачу. Удачи!
Функция MID в Excel используется для отображения части текста из строки для заданного количества символов.
Что возвращает функция
Возвращает часть текстовой строки.
Синтаксис
=MID(text, start_num, num_chars) — английская версия
=MID(текст;начальная_позиция;количество_символов) — русская версия
Аргументы функции
- text (текст) — текст, часть которого вы хотите отобразить;
- start_num (начальная_позиция) — начальная позиция внутри текста, с которой будет отображаться часть текста;
- num_chars (количество_символов) — общее количество символов, которые вы хотите отобразить из данного текста.
Дополнительная информация
- Функция обрабатывает пробелы как отдельные символы;
- Чтобы удалить лишние пробелы из текста, используйте функцию ОБРЕЗАТЬ;
- Если начальная позиция, с которой должно начинаться отображение части текста, больше, чем количество символов в тексте, функция вернет пустую ячейку;
- Функция выдаст ошибку, если начальная позиция меньше «1» или равна отрицательному значению.
Узнайте больше полезных советов по работе со списками данных и функциями в Excel в практическом курсе от новичка до мастера Excel. Смело регистрируйтесь по ссылке!
If you use programming languages, like python, you must have used a function called string slicing, which extracts a part of the string and can directly print it, or store a result. The same functionality can be achieved in Excel when we use Excel’s MID function.
The MID function can return a part of the string provided to it. Let us see the working of this function.
Mind Function in Excel:
This function can be used to slice a given string and returning only a part of that string. It considers a starting point, which will be the starting index of the string, from which we want to print. It will consist of the string that we want to slice. It can be a string provided in double quotes(” “), or it can be a reference to a cell on which slicing is to be done. It will also consist of the length of the characters, which will indicate how many characters we want to print taking reference from the starting index.
Syntax:
=MID(Text to be sliced, starting index, length of the string)
Now we will see a few examples of MID function.
Example:
Here,we used MID function 3 times on cells,i.e on MAYA,RAJ,SHAUN.Now, we will see individual 3 formulas for these three:
- In cell A2(MAYA), we applied–> MID(A2,1,2): Here, we used A2 as our text to be sliced. We will start from the 1st index, ie the very first element, which is “M”.The length of the string is kept as 2, so the string will be sliced till the 2nd index of the string, which is “A”. This will result in the output “MA”.
- In cell A3(RAJ), we applied–> MID(A3,2,1): Here, we used A3 as our text to be sliced. We will start from the 2nd index, which is “A”.The length of the string is kept as 1, so the sliced string will be till this index only. This will result in the output “A”.
- In cell A4(SHAUN), we applied–> MID(A4,1,3): Here, we used A4 as our text to be sliced. We will start from 1st index, ie the very first element, which is “S”.The length of the string is kept as 3, so the string will be sliced till the 3rd index of the string, which is “A”. This will result in the output “SHA”.
It is not necessary to provide just a word to be sliced, we can also use a sentence, that can be sliced by using the MID function. The only thing to keep in mind is that the spaces between the words in a sentence will also be counted as an index.
Example 2:
Here we applied the MID function to the A3 cell, which is a sentence, and we obtained a sliced string, which is between the A3 and the B3 cell. Now, let us see how the MID function was applied.
=MID(A3,5,14)
Here, the MID function will slice the string stored in A3 column. The starting point of slicing is from the 5th index, which is “s”.Now, as previously discussed, the spaces between the words in a sentence, also count as an index, so the length of 14 also included the space between “s” and “t”. Therefore the outcome is “sforgeeks is t”.
В книге Excel, если вы хотите извлечь часть текста из значения ячейки в зависимости от местоположения и длины, функция MID может помочь вам решить эту задачу. Функция MID используется для поиска и возврата определенного количества символов из середины данной текстовой строки.
Синтаксис:
Синтаксис функции MID в Excel:
=MID (text, start_num, num_chars)
Аргументы:
- text: Необходимые. Текстовая строка, из которой вы хотите извлечь символы.
- start_num: Необходимые. Местоположение первого символа, который вы хотите извлечь.
- num_chars: Необходимые. Общее количество символов, которые вы хотите извлечь.
Вернуть:
Вернуть определенные символы из середины текстовой строки.
Примеры:
Пример 1: Базовое использование функции MID
Например, я хочу извлечь 10 символов, которые начинаются с третьего символа из списка текстовых строк. Введите эту формулу в пустую ячейку:
=MID(A2,3,10)
Пример 2: Использование функции MID для извлечения имени и фамилии из полных имен
Мы также можем использовать функцию MID для извлечения имени и фамилии из полных имен, пожалуйста, сделайте следующее:
Извлеките имена из полных имен:
Введите или скопируйте приведенную ниже формулу в пустую ячейку, в которую вы хотите вывести результат, а затем перетащите дескриптор заполнения вниз к ячейкам, которые вы хотите применить к этой формуле, и все первые имена были извлечены, как показано на следующем снимке экрана:
=MID(A2,1,SEARCH(» «,A2,1))
Извлеките фамилии из полных имен:
Вытяните фамилии из полных имен, применив следующую формулу:
=MID(A2,SEARCH(» «,A2),100)
Пример 3: Используйте функцию MID для извлечения подстрок между двумя разделителями
Иногда вам может потребоваться извлечь текст между двумя черточками, как показано на скриншоте ниже, для решения этой задачи вам может помочь сочетание функций MID и FIND.
Скопируйте следующую формулу в пустую ячейку:
=MID(A2, FIND(«-«,A2)+1, FIND(«-«, A2, FIND(«-«,A2)+1) — FIND(«-«,A2)-1)
Затем перетащите маркер заполнения вниз, чтобы заполнить эту формулу другими необходимыми ячейками. И вы получите результат, как показано на скриншоте ниже:
Заметки:
1. Вы можете изменить разделитель «-» на другие разделители по своему усмотрению.
2. Приведенная выше формула применяется для извлечения текста между первым и вторым вхождениями определенного разделителя.
Дополнительные функции:
- Функция Excel ВПРАВО
- Функция RIGHT используется для возврата текста справа от текстовой строки.
- Функция ПОИСК в Excel
- Функция ПОИСК может помочь вам найти позицию определенного символа или подстроки в заданной текстовой строке.
- Функция ЗАМЕНИТЬ в Excel
- Функция ЗАМЕНИТЬ в Excel может помочь вам найти и заменить символы на основе заданного местоположения из текстовой строки новым текстом.
Лучшие инструменты для работы в офисе
Kutools for Excel — Помогает вам выделиться из толпы
Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.
- Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
- Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
- Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
- 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.
Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)
- Одна секунда для переключения между десятками открытых документов!
- Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
- Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.
Комментарии (0)
Оценок пока нет. Оцените первым!
VBA Excel. Функции Left, Mid, Right (вырезать часть строки)
Извлечение (вырезание) части строки с помощью кода VBA Excel из значения ячейки или переменной. Функции Left, Mid и Right, их синтаксис и аргументы. Пример.
Функция Left
Эта функция извлекает левую часть строки с заданным количеством символов.
Синтаксис функции Left:
Left(строка, длина)
- строка — обязательный аргумент: строковое выражение, из значения которого вырезается левая часть;
- длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.
Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.
Функция Mid
Эта функция извлекает часть строки с заданным количеством символов, начиная с указанного символа (по номеру).
Синтаксис функции Mid:
Mid(строка, начало, [длина])
- строка — обязательный аргумент: строковое выражение, из значения которого вырезается часть строки;
- начало — обязательный аргумент: числовое выражение, указывающее положение символа в строке, с которого начинается извлекаемая часть;
- длина — необязательный аргумент: числовое выражение, указывающее количество вырезаемых символов.
Если аргумент «начало» больше, чем количество символов в строке, функция Mid возвращает пустую строку. Если аргумент «длина» опущен или его значение превышает количество символов в строке, начиная с начального, возвращаются все символы от начальной позиции до конца строки.
Функция Right
Эта функция извлекает правую часть строки с заданным количеством символов.
Синтаксис функции Right:
Right(строка, длина)
- строка — обязательный аргумент: строковое выражение, из значения которого вырезается правая часть;
- длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.
Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.
В этом примере будем использовать все три представленные выше функции для извлечения из ФИО его составных частей. Для этого запишем в ячейку «A1» строку «Иванов Сидор Петрович», из которой вырежем отдельные компоненты и запишем их в ячейки «A2:A4».
На практике часто встречаются строки с лишними пробелами, которые необходимо удалить перед извлечением отдельных слов.
Функция Mid
Возвращает значение типа Variant (String), содержащее указанное число символов строки.
Функция Mid имеет следующие аргументы:
Обязательный. строковое выражение, из каких знаков будут возвращаться символы. Если строка содержит значение null, возвращается null .
Обязательный аргумент. Типа. Позиции знака в строке , с которой начинается начало части. Если значение » Начало » больше, чем число знаков в строке, функция ПСТР возвращает пустую строку («»).
Необязательный аргумент. Variant (Long). Число возвращаемых знаков. Если аргумент опущен или в тексте меньше, чем Длина (включая символ в начале),возвращаются все символы из начальной позиции до конца строки.
Чтобы определить количество знаков в строке, используйте функцию Len.
Примечание: Используйте функцию MidB для работы с содержащимися в строке байтами, например в языках с двухбайтовыми кодировками (DBCS). Вместо количества знаков в аргументе этой функции указывается количество байтов. Образец кода с использованием функции MidB приведен во втором примере.
Примеры запросов
ВЫБЕРИТЕ ProductID, ПСТР (ProductID; 5) как Выражение1 из Продуктсалес;
Возвращает значение ProductID и часть ProductID, начиная с позиции 1 знака 5, и отображает результаты в столбце Выражение1.
ВЫБЕРИТЕ ProductID, ПСТР (ProductID; 5; 4) как Тестмид из Продуктсалес;
Возвращает слово ProductID и часть ProductID, начиная с позиции 5, содержащей 4 символа, и отображает результаты в столбце Тестмид.
Примеры VBA
Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.
В первом примере с помощью функции Mid возвращается указанное количество знаков строки.
Во втором примере с использованием функции MidB и определяемой пользователем функции (MidMbcs) также возвращаются знаки из строки. Отличие от первого примера состоит в том, что исходная строка представляет собой строку ANSI и ее длина выражена в байтах.
Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).
Функция ПСТР в Excel с примером и формулой
В этой статье я бы хотел рассмотреть очень полезную функцию в Excel для работы с текстом – функция ПСТР (в английской версии MID)
Функция ПСТР предназначена для того, чтобы отражать заданное число знаков из текстовой строки, начиная с указанной позиции.
Синтаксис функции ПСТР выглядит следующим образом
ПСТР( текст ; начальная_позиция ; число_знаков )
Давайте сразу же рассмотрим на примере с использованием формулы ПСТР. Допустим у нас есть вот такой вот список с наименованием товаров и нам необходимо отразить только наименования без слова «Товара» и номера артикула.
Если бы нам надо было бы отразить без слова «Товар», то мы могли бы просто сделать замену слова «Товара» на пусто и получили бы нужный нам результат, но в данном случае у нас это сделать не получиться, так как нам так же нужно убрать артикул.
В данном случае очень хорошо можно использовать функцию ПСТР со следующей формулой. В ячейке «C2» пропишем
=ПСТР( A2 ; 13 ; 50 )
A2 — текст, их которого нам необходимо взять определенное количество знаков. В нашем пример это текст «Товар 91823 Naomy из коллекции Naomy»
13 — начальная позиция с которой нам необходимо брать знаки. В этом пример я посчитал самостоятельно количество знаков «Товар 91823 «. Товар 5 знаков + 1 знак пробела + 5 знаков артикула + 1 знак пробела после артикула, итого 12 знаков. Следовательно, нам необходимо брать знаки с 13-й позиции.
50 — число знаков, которое нам необходимо взять, так как я не знаю максимальное количество знаков строки, то на глаз я взял побольше, зная, что нет строк больше, чем 50-ю символами.
Вводим формулу, протягиваем вниз и получаем нужный для нас результат. Конечно, в данном примере я рассмотрел очень простой пример работы функции ПСТР. В большинстве случаев второй, а иногда и третий аргумент вычисляются автоматически с помощью других функций Excel для работы с текстом (НАЙТИ, ДЛСТР) и других. Это мы обязательно рассмотрим в следующих статьях. Цель же данной статьи это показать, принцип работы функции ПСТР и для чего она предназначена.
Если статья помогла вам, будем благодарны, если вы нажмете на социальные кнопки +1 и «Мне нравится» под статьей. Так же вступайте в нашу группу ВКонтакте
Пояснить результат работы функции Mid
Неправильный результат работы функции Round
Здравстыуйте. Почему-то функция VBA Round(prm, 2) где prm, 10.505, 10.525, 10.545, 10.565, 10.585.
Функции Left, Right, Mid выдают ошибку
Всем привет. Подскажите пожалуйста. Я пишу макросы в Excel-е, так вот функция Left у меня работает.
VBA не понимает свои же функции: ROUND, LEFT, MID
На одних компах всё работает нормально, а на других компилятор ругается на такие функции, как.
Заменить функцию InStrRev функциями Right, Mid или другими функции
Всем привет. Скажите пожалуйста возможно ли в следующим задание заменить функцию «InStrRev».
Пояснить результат работы кода
Добрый вечер. кто нибудь может объяснить в чем здесь подвох? http://rextester.com/BKATS43592 .
Ципихович Эндрю, «9090690978, 4565665465, 8548375535» вот выход после Left-Right. 8ки нету.
Слева берем все символы до нее справа все после нее. складываем — получаем строку без 8-ки? Чего надо то еще? Работает не оставляя пробела как в первом варианте
а в чем соль обработки между запятыми поясни плиз. изначально речь шла как удалить 8.
ты там точно сам себе жизнь не усложняешь умышленно?
тоже самое что и пробел
Я вчера отвалился, да и поздновато было.
Пользуйся функциями работы со строками не надо ничего придумывать с сет.
вот тебе в диапазоне между запятыми, но надо точно задавать критерий поиска.
если критерии будут меняться всегда все можно обыграть в переменных.
То что ты пишешь — не знаю что и сказать.
Есть много функций работы со строками.
2 в пример я привел. Лично я сделал бы через Left-Right
Попробуй Replace.
спасибо, говорю как сделать — знаю, знаю, что есть много способов, просто очень удивился что это работает не как я думал
_______________________________
Функция Mid
Mid(String,Start,[Length])
Mid$(String,Start,[Length])
MidB(String,Start,[Length])
MidB$(String,Start,[Length])
Функция Mid(Middle) используется для считывания заданного числа символов или байт подряд от заданной позиции в строке слева направо. Нумерация символов в строке всегда начинается с единицы. Для определения числа символов в строке следует использовать функцию Len
Возвращаемое значение
Возвращает значение типа Variant (String), содержащее указанное число символов строки
Параметры
Функция содержит именованные аргументы
String
Обязательный аргумент — строка, из которой извлекаются символы. Если аргумент имеет значение Null, возвращается Null
Start
Обязательный аргумент — значение типа Long. Позиция символа в строке String, с которого начинается нужная подстрока. Если Start больше числа символов в строке string, функция Mid возвращает пустую строку («»)
Примечание Если аргумент имеет отрицательное значение или равен 0, то генерируется ошибка времени исполнения
Length
Необязательный аргумент — значение типа Variant (Long). Число возвращаемых символов. Если этот аргумент опущен или превышает число символов, расположенных справа от позиции Start, то возвращаются все символы от позиции Start до конца строки
Примечание Если аргумент имеет отрицательное значение, то генерируется ошибка времени исполнения
Пример
Пример функция ПСТР для разделения текста на части в Excel
Функция ПСТР в Excel предназначена для выделения подстроки из строки текста, переданной в качестве первого аргумента, и возвращает требуемое количество символов начиная с заданной позиции.
Примеры использования функции ПСТР в Excel
Один символ в языках с однобайтовой кодировкой соответствует 1 байту. При работе с такими языками результаты функций ПСТР и ПСТРБ (возвращает подстроку из строки на основе количества заданных байт) не отличаются. Если на компьютере используется двухбайтовый язык, каждый символ при использовании ПСТРБ будет считаться за два. Двухбайтовыми языками являются корейский, японский и китайский.
Как разделить текст на несколько ячеек по столбцам в Excel?
Пример 1. В столбце таблицы содержатся даты, записанные в виде текстовых строк. Записать отдельно в соседних столбцах номер дня, месяца и год, выделенные из представленных дат.
Вид исходной таблицы данных:
Для заполнения номера дня используем следующую формулу (использовать в качестве формулы массива):
- A2:A10 – диапазон ячеек с текстовым представлением дат, из которых будут выделены номера дней;
- 1 – номер начальной позиции символа извлекаемой подстроки (первый символ в исходной строке);
- 2 – номер последней позиции символа извлекаемой подстроки.
Аналогичным способом выделим номера месяца и годы для заполнения соответствующих столбцов с учетом, что номер месяца начинается с 4-го символа в каждой строке, а год – с 7-го. Используем следующие формулы:
Вид заполненной таблицы данных:
Таким образом нам удалось разрезать на части текст в ячейках столбца A. Удалось отдельно каждую дату разделить на несколько ячеек по столбцам: день, месяц и год.
Как вырезать часть текста ячейки в Excel?
Пример 2. В столбце таблицы хранятся текстовые записи с наименованием и маркой товаров. Разделить имеющиеся строки на подстроки с наименованием и маркой соответственно и записать полученные значения в соответствующие столбцы таблицы.
Вид таблицы данных:
Для заполнения столбца «Наименование» используем следующую формулу:
Функция НАЙТИ возвращает номер позиции символа пробела « » в просматриваемой строке, который принимается в качестве аргумента число_знаков функции ПСТР. В результате расчетов получим:
Для заполнения столбца «Марка» используем следующую формулу массива:
Функция НАЙТИ возвращает позицию символа пробела. К полученному числу прибавляется единица для нахождения позиции первого символа названия марки продукта. Итоговое значение используется в качестве аргумента начальная_позиция функции ПСТР. Для упрощения, вместо поиска номера последней позиции (например, с помощью функции ДЛСТР) указано число 100, которое в данном примере гарантированно превышает количество знаков в изначальной строке.
В результате расчетов получим:
Как посчитать возраст по дате рождения в Excel?
Пример 3. В таблице содержатся данные о сотрудниках в столбцах ФИО и дата рождения. Создать столбец, в котором будет отображаться фамилия сотрудника и его возраст в формате «Иванов – 27».
Вид исходной таблицы:
Для возврата строки с фамилией и текущим возрастом используем следующую формулу:
Функция ПСТР возвращает часть строки до символа пробела, позиция которого определяется функцией НАЙТИ. Для нахождения возраста сотрудника используется функция РАЗНДАТ, полученное значение которой усекается до ближайшего меньшего целого, чтобы получить число полных лет. Функция ТЕКСТ преобразует полученное значение в текстовую строку.
Для соединения (конкатенации) полученных строк используются символы «&». В результате вычислений получим:
Особенности использования функции ПСТР в Excel
Функция имеет следующую синтаксическую запись:
- текст – обязательный для заполнения аргумент, принимающий ссылку на ячейку с текстом или текстовую строку, заключенную в кавычки, из которой будет извлечена подстрока определенной длины начиная с указанной позиции первого символа;
- начальная_позиция – обязательный аргумент, принимающий целые числа из диапазона от 1 до N, где N – длина строки, из которой требуется извлечь подстроку заданного размера. Начальная позиция символа в строке соответствует числу 1. Если данный аргумент принимает дробное число из диапазона допустимых значений, дробная часть будет усечена;
- число_знаков – обязательный аргумент, принимающий значение из диапазона неотрицательных чисел, которое характеризует длину в символах возвращаемой подстроки. Если в качестве этого аргумента передано число 0 (нуль), функция ПСТР вернет пустую строку. Если аргумент задан числом, превышающим количество символов в строке, будет возвращена вся часть строки начиная с указанной вторым аргументом позиции. В дробных числах, используемых в качестве данного аргумента, дробная часть усекается.
Функция ПСТРБ имеет схожий синтаксис:
Она отличается единственным аргументом:
- число_байтов – обязательный аргумент, принимающий целые числа из диапазона от 1 до N, где N – число байтов в исходной строке, характеризующий количество байт в возвращаемой подстроке.
- Функция ПСТР вернет пустую строку, если в качестве аргумента начальная_позиция было передано число, превышающее количество символов в исходной строке.
- Если в качестве аргумента начальная_позиция было передано значение 1, а аргумент число_знаков определен числом, которое равно или больше общему числу знаков в исходной строке, функция ПСТР вернет всю строку целиком.
- Если аргумент начальная_позиция был указан числом из диапазона отрицательных чисел или 0 (нулем), функция ПСТР вернет код ошибки #ЗНАЧ!.
- Если аргумент число_знаков задан отрицательным числом, результатом выполнения функции ПСТР будет код ошибки #ЗНАЧ!.
Извлечение (вырезание) части строки с помощью кода VBA Excel из значения ячейки или переменной. Функции Left, Mid и Right, их синтаксис и аргументы. Пример.
Эта функция извлекает левую часть строки с заданным количеством символов.
Синтаксис функции Left:
Left(строка, длина)
- строка — обязательный аргумент: строковое выражение, из значения которого вырезается левая часть;
- длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.
Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.
Функция Mid
Эта функция извлекает часть строки с заданным количеством символов, начиная с указанного символа (по номеру).
Синтаксис функции Mid:
Mid(строка, начало, [длина])
- строка — обязательный аргумент: строковое выражение, из значения которого вырезается часть строки;
- начало — обязательный аргумент: числовое выражение, указывающее положение символа в строке, с которого начинается извлекаемая часть;
- длина — необязательный аргумент: числовое выражение, указывающее количество вырезаемых символов.
Если аргумент «начало» больше, чем количество символов в строке, функция Mid возвращает пустую строку. Если аргумент «длина» опущен или его значение превышает количество символов в строке, начиная с начального, возвращаются все символы от начальной позиции до конца строки.
Функция Right
Эта функция извлекает правую часть строки с заданным количеством символов.
Синтаксис функции Right:
Right(строка, длина)
- строка — обязательный аргумент: строковое выражение, из значения которого вырезается правая часть;
- длина — обязательный аргумент: числовое выражение, указывающее количество извлекаемых символов.
Если аргумент «длина» равен нулю, возвращается пустая строка. Если аргумент «длина» равен или больше длины строки, возвращается строка полностью.
Пример
В этом примере будем использовать все три представленные выше функции для извлечения из ФИО его составных частей. Для этого запишем в ячейку «A1» строку «Иванов Сидор Петрович», из которой вырежем отдельные компоненты и запишем их в ячейки «A2:A4».
Sub Primer() Dim n1 As Long, n2 As Long Range(«A1») = «Иванов Сидор Петрович» ‘Определяем позицию первого пробела n1 = InStr(1, Range(«A1»), » «) ‘Определяем позицию второго пробела n2 = InStr(n1 + 1, Range(«A1»), » «) ‘Извлекаем фамилию Range(«A2») = Left(Range(«A1»), n1 — 1) ‘Извлекаем имя Range(«A3») = Mid(Range(«A1»), n1 + 1, n2 — n1 — 1) ‘Извлекаем отчество Range(«A4») = Right(Range(«A1»), Len(Range(«A1»)) — n2) End Sub |
На практике часто встречаются строки с лишними пробелами, которые необходимо удалить перед извлечением отдельных слов.
Содержание
- Обзор функций MID
- Как использовать функцию MID в Excel:
- Перевернуть текстовую строку
- MID в Google Таблицах
- Дополнительные замечания
- Примеры MID в VBA
Скачать пример рабочей книги
Загрузите образец книги
В этом руководстве показано, как использовать Функция Excel MID в Excel для извлечения текста из ячейки.
Функция MID Возвращает текст из середины ячейки, определяемой начальным числом и количеством символов.
Чтобы использовать функцию листа MID Excel, выберите ячейку и введите:
(Обратите внимание, как появляются входные данные формулы)
Синтаксис и входы функции MID:
= MID (текст; начальное_число; число_знаков)
текст — Строка текста.
start_num — Номер символа, с которого следует начать выбор.
num_chars — Количество возвращаемых символов после start_num.
Как использовать функцию MID в Excel:
Функция MID извлекает указанное вами количество символов из любого места.
= MID (B3; C3; D3)
Он может начинаться с любого числа в столбце C и любого количества символов в столбце D.
MID для захвата строки между разными разделителями
Если нужная строка находится между двумя разными разделителями, это довольно просто. Например, нам может понадобиться строка между тире («-») и косой чертой («/»).
= MID (B3; НАЙТИ ("-"; B3) + 1; НАЙТИ ("/"; B3) -НАЙТИ ("-"; B3) -1)
В этом случае здесь мы можем использовать FIND, чтобы проверить, с какой позиции символа начинается тире, и добавить 1, чтобы начать извлечение оттуда.
Используйте FIND еще раз, чтобы проверить, с какой позиции символа начинается косая черта, минус позиция тире и 1, чтобы получить длину искомой строки.
Вы также можете использовать ПОИСК. Разница между FIND и SEARCH заключается в том, что первый чувствителен к регистру. Найти такой символ, как пробел, не имеет значения.
= MID (B3; НАЙТИ ("-"; B3) + 1; ПОИСК ("/"; B3) -ПОИСК ("-"; B3) -1)
MID для захвата строки между одним и тем же разделителем
Если строка имеет тот же разделитель, она немного сложнее, чем указанная выше, потому что FIND захватывает первое вхождение. Например, нам может понадобиться строка между первым и вторым пробелами. Но вы также можете указать начальную позицию в FIND.
= MID (B3; НАЙТИ (""; B3) + 1; НАЙТИ (""; B3, НАЙТИ (""; B3) +1) -НАЙТИ ("", B3) -1)
Он использует FIND, как и в приведенном выше примере, чтобы проверить, с какой позиции символа начинается пробел, и добавить 1, чтобы начать извлечение оттуда.
Снова используйте НАЙТИ, чтобы проверить, с какой позиции символа начинается второй пробел, начиная с поиска 1 символа после позиции первого пробела.
И, наконец, минус позиция первого пробела и 1, чтобы получить длину строки, которую мы хотим.
Вы также можете использовать ПОИСК.
= MID (B3; НАЙТИ (""; B3) + 1; ПОИСК (""; B3, НАЙТИ (""; B3) +1) -ПОИСК ("", B3) -1)
MID с номером / датами
Обратите внимание, что MID — это текстовая функция. При использовании MID результатом является текст. Например, вы не сможете суммировать эти числа в ячейке E3 после использования MID.
То же самое происходит с датами, поскольку они распознаются как порядковые номера, а не как текст. Возможно, вам не нужно суммировать даты, но это не работает в фильтрах и сводных таблицах.
Чтобы преодолеть указанные выше проблемы, вы можете использовать VALUE для преобразования текста в значения.
= ЗНАЧЕНИЕ (СРЕДНЕЕ (B3; НАЙТИ (":"; B3) + 2; НАЙТИ (""; B3, НАЙТИ (""; B3) +1) -НАЙТИ (":", B3) -2))
MID для разделения по общему разделителю
Вы можете разделить все слова на разные строки. Следовательно:
= ОБРЕЗАТЬ (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 следующим образом, чтобы получить последнее слово строки.
= ОБРЕЗАТЬ (MID (ПОДСТАВИТЬ (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 Таблицах точно так же, как и в Excel:
Дополнительные замечания
Если num_chars больше, чем оставшаяся длина текста, функция MID возвращает весь оставшийся текст.
Примеры MID в VBA
Вы также можете использовать функцию MID в VBA. Тип:application.worksheetfunction.mid (текст, начальное_число, число_знаков)
Для аргументов функции (текста и т. Д.) Вы можете либо ввести их непосредственно в функцию, либо определить переменные, которые будут использоваться вместо них.
Вернуться к списку всех функций в Excel