Есть файлы со следующими названиями:
Report KF-01 December 21.xlsx
Report KF-01 December 22.xlsx
Report KF-01 December 23.xlsx
...
Report KF-01 December 24.xlsx
Report KF-01 December 25.xlsx
Неизменно только слово Report, месяца меняются, годы меняюся, KF-01 тоже меняется
В ячейке должен оказаться месяц из названия. Проблема в том, что месяца имеют разную длину, не являются началом строки, т.е. находятся посередине в неопределенном месте и не определенной длины.
Написал вот такое чудо техники:
=ЛЕВСИМВ(ПРАВСИМВ(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100);ДЛСТР(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-НАЙТИ("1 ";ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-1);ДЛСТР(ПРАВСИМВ(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100);ДЛСТР(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-НАЙТИ("1 ";ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-1))-3)
Все хорошо, формула работает, но когда файл открывается, то формула не всегда срабатывает. Она показывает не следующий месяц, а не предыдущий, но если ее обновить, то она работает нормально. Как написать более стабильную формулу, которая будет дергать название месяца из файла?
Report KF-01 December 21.xlsx
Report KF-01 December 22.xlsx
Report KF-01 December 23.xlsx
...
Report KF-01 December 24.xlsx
Report KF-01 December 25.xlsx
Неизменно только слово Report, месяца меняются, годы меняюся, KF-01 тоже меняется
В ячейке должен оказаться месяц из названия. Проблема в том, что месяца имеют разную длину, не являются началом строки, т.е. находятся посередине в неопределенном месте и не определенной длины.
Написал вот такое чудо техники:
=ЛЕВСИМВ(ПРАВСИМВ(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100);ДЛСТР(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-НАЙТИ("1 ";ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-1);ДЛСТР(ПРАВСИМВ(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100);ДЛСТР(ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-НАЙТИ("1 ";ЛЕВСИМВ(ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1;ПОИСК(".xls";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1);100))-1))-3)
Все хорошо, формула работает, но когда файл открывается, то формула не всегда срабатывает. Она показывает не следующий месяц, а не предыдущий, но если ее обновить, то она работает нормально. Как написать более стабильную формулу, которая будет дергать название месяца из файла?