Лоуренс спросил, есть ли способ разработать формулу, которая возвращала бы имя родительской папки для текущего файла книги. Он хотел, чтобы это возвращало только имя папки, и он хотел, чтобы оно выводилось с использованием обычной формулы Excel, а не макроса или определяемой пользователем функции.

Ответ: да, можно определить родительскую папку с помощью формулы, но формула довольно длинная и сложная. Читатели представили несколько примеров формул; следующая формула является наиболее лаконичной:

=MID(CELL("filename"), FIND(CHAR(1), SUBSTITUTE(CELL("filename"), "\", CHAR(1), LEN(CELL("filename")) - LEN(SUBSTITUTE(CELL("filename"), "\", "")) - 1)) + 1, FIND("[", CELL("filename")) - 2 - FIND(CHAR(1), SUBSTITUTE(CELL("filename"), "\", CHAR(1), LEN(CELL("filename")) - LEN(SUBSTITUTE(CELL("filename"), "\", "")) - 1)))

Обратите внимание, что это настоящая формула; он должен отображаться в отдельной строке ячейки.

Формула работает, используя количество обратных косых черт в полном пути к файлу, а затем заменяя косую черту от второй до последней на значение ASCII, равное 1. Это значение затем используется как «вспомогательное средство позиционирования» для извлечения имени родительской папки.

Также обратите внимание, что вы можете получить ошибку #VALUE, пока не сохраните книгу, в которой содержится формула. (До этого момента нет пути для анализа, поэтому различные функции в формуле возвращают ошибку #VALUE.)

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (12084) применим к Microsoft Excel 2007, 2010, 2013 и 2016.

Вы можете найти версию этого совета для более старого интерфейса меню Excel здесь: link: / excel-Finding_the_Parent_Folder [Поиск родительской папки].