Лоуренс спросил, есть ли способ разработать формулу, которая возвращала бы имя родительской папки для текущего файла книги. Он хотел, чтобы это возвращало только имя папки, и он хотел, чтобы оно выводилось с использованием обычной формулы 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. Это значение затем используется как «вспомогательное средство позиционирования» для извлечения имени родительской папки.

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

Этот совет (2226) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-Finding_the_Parent_Folder [Поиск родительской папки].