Примеры функций MID - Excel, VBA и Google Таблицы

Скачать пример рабочей книги

Загрузите образец книги

В этом руководстве показано, как использовать Функция Excel MID в Excel для извлечения текста из ячейки.

Обзор функций MID

Функция 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

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave