Формула Excel для извлечения пути из имени файла
Если вы хотите извлечь путь из полного пути и имени файла, вы можете использовать формулу, которая объединяет функции LEFT, FIND, SUBSTITUTE и LEN для обработки. Формула немного длинная, но в этом руководстве будет объяснено, как она работает.
Общая формула:
LEFT(путь,FIND("?",SUBSTITUTE(путь,"\","?",LEN(путь)-LEN(SUBSTITUTE(путь,"\",""))))) |
Аргументы
Путь: ссылка на ячейку или текстовая строка, содержащая путь к файлу и имя файла. |
Как работает эта формула
Рассмотрим пример: чтобы извлечь путь из ячейки B3, которая содержит полный путь и имя файла, используйте следующую формулу:
=LEFT(B3,FIND("?",SUBSTITUTE(B3,"\","?",LEN(B3)-LEN(SUBSTITUTE(B3,"\",""))))) |
Нажмите Enter клавишу, чтобы извлечь путь из ячейки.
Объяснение
Чтобы извлечь путь из полного пути и имени файла, сначала формула подсчитывает количество символов “\” с помощью функций LEN и SUBSTITUTE, затем заменяет последний “\” специальным символом “?” с помощью функции SUBSTITUTE, наконец, находит специальный символ “?” и извлекает путь с помощью функций FIND и LEFT.
Функция LEN возвращает количество символов в текстовой строке.
Функция SUBSTITUTE заменяет старый текст на новый.
Формула LEN(B3)-LEN(SUBSTITUTE(B3,"\","")) подсчитывает количество символов "\".
=LEN(B3)-LEN(SUBSTITUTE(B3,"\","")) =LEN(B3)-LEN(“C:UsersAddinTestWin10Documentsdescription.xlsx”) 50-46 =4 |
SUBSTITUTE(B3,"\","?",LEN(B3)-LEN(SUBSTITUTE(B3,"\",""))) заменяет четвертый "\" на "?".
=SUBSTITUTE(B3,"\","?",LEN(B3)-LEN(SUBSTITUTE(B3,"\",""))) =SUBSTITUTE(B3,"\","?",4) =C:\Users\AddinTestWin10\Documents?description.xlsx |
Функция FIND используется для поиска строки внутри другой строки и возвращает начальную позицию строки внутри другой.
Формула FIND("?",SUBSTITUTE(B3,"\","?",LEN(B3)-LEN(SUBSTITUTE(B3,"\","")))) находит позицию “?” в текстовой строке "C:\Users\AddinTestWin10\Documents?description.xlsx".
=FIND("?",SUBSTITUTE(B3,"\","?",LEN(B3)-LEN(SUBSTITUTE(B3,"\","")))) =FIND("?","C:\Users\AddinTestWin10\Documents?description.xlsx") =34 |
Функция LEFT извлекает подстроку фиксированной длины слева от заданного текста.
=LEFT(B3,FIND("?",SUBSTITUTE(B3,"\","?",LEN(B3)-LEN(SUBSTITUTE(B3,"\",""))))) =LEFT(B3,34) =C:\Users\AddinTestWin10\Documents\ |
Пример файла
Нажмите, чтобы скачать пример файла
Связанные формулы
- Извлечение справа до символа
Здесь представлена формула для извлечения текста справа от заданного текста до указанного символа. - Извлечение расширения из имени файла
Здесь представлена формула для извлечения расширения файла из имени файла в другой столбец. - Извлечение имени файла из пути
Объясняется, как применять формулы для извлечения имени файла с расширением или без него из пути к файлу в определенной ячейке в Excel. - Добавление дефисов к номеру телефона
Чтобы добавить дефисы к номеру телефона, вы можете использовать формулу для решения этой задачи в Excel.
- Функция LEFT
Извлекает подстроку слева от текста. - Функция SUBSTITUTE
Находит и заменяет текстовую строку другой. - Функция LEN
Возвращает количество символов в тексте. - Функция SEARCH
Находит позицию конкретного символа или подстроки в заданной текстовой строке. - Функция FIND
Находит строку внутри другой строки.
Лучшие инструменты для повышения производительности Office
Kutools для Excel - Помогает вам выделиться из толпы
Kutools для Excel имеет более 300 функций, гарантируя, что нужный вам инструмент находится всего в одном клике...
Office Tab - Включите работу с вкладками в Microsoft Office (включая Excel)
- Один щелчок мыши, чтобы переключаться между десятками открытых документов!
- Сократите сотни кликов мышью ежедневно, попрощайтесь с болью в руке.
- Увеличивает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.