Получение списка файлов в папке

В Excel, путём проведения нехитрых махинаций, имеется возможность получения списка файлов, находящихся в папке компьютера. Для этого копируем путь к файлам в папке и вставляем его в нужную ячейку, при этом в конце пути необходимо указать маску поиска файлов вида:

1. *.* – все файлы;

2. *.xl* – все файлы Excel (xls, xlsx, xlsm, xlsb и т.д.);

3. *.exe – все исполняемые файлы (программы);

4. *.docx (doc, docm) – все документы Word. Добавив ключевое слово Рок*.docx в список войдут все названия файлов, начинающиеся со слова «Рок».

Получение списка файлов в папке Microsoft Excel, Таблица, Полезное, Лайфхак, На заметку, Длиннопост

Дальше нажатием Ctrl+F3 или на вкладке «Формулы» - «Диспетчер имён», в открывшемся окне создадим новое имя Список_файлов и введём в строку Диапазон следующую формулу =ФАЙЛЫ(Лист1!$A$1) где «Лист1» – это название листа, а «А1» – ячейка с адресом

Получение списка файлов в папке Microsoft Excel, Таблица, Полезное, Лайфхак, На заметку, Длиннопост

Теперь в созданном нами названии «Список_файлов» уже содержатся нужные имена файлов, осталось их оттуда извлечь. Для этого используем в ячейке А3 следующую формулу и протянем её вниз: =ЕСЛИОШИБКА(ИНДЕКС(Список_файлов;СТРОКА()-2);””)

Получение списка файлов в папке Microsoft Excel, Таблица, Полезное, Лайфхак, На заметку, Длиннопост

Функция ЕСЛИОШИБКА нужна, чтобы спрятать ошибку #ССЫЛКА, которая возникает, когда мы протягиваем формулу "с запасом", т.е. на больший по размеру диапазон, чем количество имеющихся у нас файлов.


Функция ИНДЕКС извлекает из массива элемент по номеру, например, формула =ИНДЕКС(Список_файлов; 5) выдаст имя пятого по счету файла в папке.


Функция СТРОКА, выдает порядковый номер текущей строки, из которого мы вычитаем 2, т.к. первая ячейка, куда выводится имя, в нашем случае А3.

MS, Libreoffice & Google docs

719 постов15K подписчик

Добавить пост

Правила сообщества

1. Не нарушать правила Пикабу

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях


Важно - сообщество призвано помочь, а не постебаться над постами авторов! Помните, не все обладают 100 процентными знаниями и навыками работы с Office. Хотя вы и можете написать, что вы знали об описываемом приёме раньше, пост неинтересный и т.п. и т.д., просьба воздержаться от подобных комментариев, вместо этого предложите способ лучше, либо дополните его своей полезной информацией и вам будут благодарны пользователи.

Утверждения вроде "пост - отстой", это оскорбление автора и будет наказываться баном.

Вы смотрите срез комментариев. Показать все
8
Автор поста оценил этот комментарий

еще один вариант

Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку (3)
3
Автор поста оценил этот комментарий

Сложно для объяснения. Особенно редактор отчетов.

У ТСа конструкция, которую при паре модификаций можно просто копировать в нужную папку, открывать файл  и получать список. 


Функция


Function MyFullPath() As String

MyFullPath = ThisWorkbook.Path

End Function



В ячейке получается формула

=CONCATENATE(MyFullPath(),"\")

Получаем путь к папке, куда мы наш файл положили

А дальше можно уже добавить чего хотим искать (например в моем случае это

=CONCATENATE(MyFullPath(),"\","*_chr.txt")

И после этого индексом вытягиваем список файлов по маске, которые нам нужны и пользуемся.

Автор поста оценил этот комментарий

в 2007 офисе нет "из файла" :(

раскрыть ветку (1)
Автор поста оценил этот комментарий

значит придется потратить минут 10 на скачивание и установку новой версии

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку