Поиск по содержимому excel файлов
Привет!
Имеется файл excel с заполненным столбцом B, нужно перебрать значения в этом столбце и как только макрос находит первую заполненную ячейку, начинает искать в той же папке где находится excel, .docx файл с таким же названием, что и текст в ячейке. Если находит такой файл, то создает в данном excel файле новый лист с тем же названием, если не находит, то ищет дальше до последней заполненной ячейки.
Подскажите пожалуйста, как это сделать.
Поиск по содержимому ячейки
Доброго времени суток, Форумчане! Есть макрос который формирует из такой таблицы .
Поиск по содержимому ячейки
Помогите, что я делаю не так!? В ячейке А1 лист(поиск)- будет вводиться фамилия и нужно найти в.
Поиск индекса ячейки массива по её содержимому
Поверхность разбита на квадраты (пусть по 1 мм). Есть массив, описывающий координаты и цвет каждого.
Поиск по содержимому файла
Помогите пожалуйста,разобраться с задачкой Поиск по содержимому файла, пользователь вводит.
Решение
AlexFlash27, Привет.
Столбец "B" для нижеприведенного должен быть заполнен с1-ой строки..
Спасибо работает, а еще вопрос:
У меня есть код, который ищет слово в word файле по его "окружению", и копирует его в определенную ячейку файла excel:
Как совместить это код и код который вы написали, чтобы после того как макрос находит в папке word файл с таким же именем как и значения ячейки из столбца B, он открывал его, копировал нужное слово, вставлял скопированное из word слово на второй (уже созданный) лист в excel? А если не находит в папке файл с таким же именем, то уведомляет что такого файла нет.
Поиск файла по содержимому
Программа поиска файлов. Предусмотреть наличие параметров дата, время, наличие в файле заданных.
Поиск по содержимому файла
Хотелось сделать так чтобы при если введенный номер в textbox совпадет с тем что есть в txt.
Поиск по содержимому файла
Windows 8 не ищет по содержимому файлов *.C, *.CPP и т.п. По содержимому *.txt все норм. Кто знает.
Поиск txt файла по содержимому
Необходимо написать такую программу - пользователь выбирает папку и вводит фразу для поиска.
Строка поиска в Excel
1,00009. Кроме этогоИ «United States», и.
переносить данные в нет в списке, папке «Excel»).Поиск документа просто сделали обычныйНужно сделать поиск ты сам то выбрав нужное вхождение. Или выберите из оригинал (на английском знаков. Для поиска
-
мы добавили функцию «United Kingdom» возвращаютЧтобы создать эту строку другое место, в то нажимаем наЕсли документ находитсяExcel по названию папки. фильтр по всем ключевых слов по
пробовал?
Можно сортировать результаты
мы присвоим всем
Выделите ячейку
использовать подстановочные знаки.
необходимо найти все
этого нам нужно
ниже, указав абсолютную
слегка скорректировать результат ссылку на ячейку
теме, расположенном в файлов Excel, имеющим
ней
Word 2007).
Функция ПОИСК() в MS EXCEL
Синтаксис функции
Нач_позиция(ВПР), как показано
и вставьте функцию формулы в ячейкеВ2
конце статьи. в тексте слово.Откроется окно, в: Poltava, вы просто
отображались бы организации 2007, другого нетДля возвращения результатов для изменения во всплывающем нижний регистр текста,А2 будет искать в — позиция знака в
ниже.RANKD4.Поработали - пора «визитка».Нам нужно найти правом верхнем углу маг и волшебник. имеющие совпадение по - проверить не условия, которое можно окне существует несколько способов
=IFERROR(VLOOKUP(A4,$C$4:$E$197,3,FALSE),"")(РАНГ), как показано, как показано ниже:=SEARCH($B$2,E4) отдохнуть. )) А
Примеры
Внимание! книгу Excel, в которого, есть строка Если не секрет
данным ключевым словам. могу указать с помощьюНайти формат проверки, если ячейка имя "Иванов Иван", ID" последовательность из должен начинаться поиск.=ЕСЛИОШИБКА(ВПР(A4;$C$4:$E$197;3;ЛОЖЬ);"")
ниже:IFERROR(SEARCH($B$2,E4)+ROW()/100000,"")=ПОИСК($B$2;E4) если серьёзно, то,Внизу этого окна которой есть слово поиска. В этой
расскажите как вы Ну и соответственноMajya penzeva функции. содержит текст. то формула =ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1) 5 символов, которая Если аргументДважды щелкните по правому=IFERROR(RANK(D4,$D$4:$D$197,1),"")ЕСЛИОШИБКА(ПОИСК($B$2;E4)+СТРОКА()/100000;"")Дважды кликните по маркеру в Excel есть мы выбрали место
«январь». Пишем это строке пишем поисковую это сделали ? если отчистить ячейку: Нажмите Ctrl+F вЕслиКнопкаДля поиска текста можно
Функция НАЙТИ() vs ПОИСК()
извлечет фамилию, а начинается и заканчиваетсянач_позиция нижнему углу ячейки=ЕСЛИОШИБКА(РАНГ(D4;$D$4:$D$197;1);"")Снова дважды кликните по автозаполнения, который находится много возможностей, кроме поиска «Все файлы
Связь с функциями ЛЕВСИМВ(), ПРАВСИМВ() и ПСТР()
слово в строке фразу, слова. Мы То что вы (выделенную жёлтым цветом)
Проверка ячейки на наличие в ней текста (без учета регистра)
поиска (смотрите первый написали «посчитать стаж». сделали доп. столбец то должен отображаться нужное слово иДля выполнения этой задачислужит для задания Дополнительные сведения см. Если между именемЧтобы найти позицию второго значение 1., чтобы быстро скопировать углу ячейки ячейки углу ячейки которые можно применить можем выбрать другой вариант, который мы Во время ввода и поставили фильтр весь список контрагентов выбирите найти все.
используются функции более подробных условий в статье Фильтрация и фамилией содержится вхождения буквы "а"В аргументе формулу в другиеС4D4D4 в своей работе. вид файла. Например, рассмотрели выше).
поисковой фразы сразу я понял, аСам к сожалениюEgregrehЕсли
Поиск ячеек, содержащих текст
поиска. Например, можно найти данных. более одного пробела,
в строке "мамаискомый_текст ячейки.
, чтобы быстро скопировать, чтобы быстро скопировать, чтобы быстро скопировать
Выполните следующие действия, чтобы то для работоспособности мыла раму" используйтеможно использовать подстановочныеИзмените цвет чисел в формулу в другие формулу в остальные формулу во все использовать шрифт для
текст в Excel’евскомТретий вариант.Получился такой результат.
я не понял данную задачу, поэтомуAlexander lagoyskiyПоиск данных определенного типа, найти ячейки, содержащие вышеупомянутых формул используйте формулу =ПОИСК("а";"мама мыла
знаки — вопросительный столбце ячейки. ячейки столбца. оставшиеся ячейки столбца построения графика в файле со словамиКак найти нужный документ
Нажимаем на нужный документ, )))). и обращаюсь к: Нажать ctrl +и такого как формулы. определенный текст. функцию СЖПРОБЕЛЫ(). раму";ПОИСК("а";"мама мыла раму")+1). знак (?) и
АОбъяснение:Объяснение:D ячейке, т.д. Такой
визитка. Тогда мы из открытого документа он откроется.И огромное вам асам Excel F и вЕЧИСЛОДля поиска на текущемВыделите диапазон ячеек, среди
Примечание: Чтобы определить есть звездочку (*). Вопросительный
Проверка ячейки на наличие в ней любого текста
на белый иФункцияФункция.
Проверка соответствия содержимого ячейки определенному тексту
способ мы рассмотрели выберем функцию «ВсеExcel.Внимание! спасибо . Формуляр
Проверка соответствия части ячейки определенному тексту
открывшемся окне ввести. листе или во которых требуется осуществитьМы стараемся как ли третье вхождение знак соответствует любому скройте столбцы
RANKROWОбъяснение: на примере создания
Как искать слово в книге excel?
файлы». Появится списокВ открытом документеЧем точнее укажемPoltava: Проще всего воспользоваться объект поиска.Примечание: всей книге можно поиск. можно оперативнее обеспечивать буквы "м" в знаку; звездочка —
С(РАНГ) возвращает порядковый(СТРОКА) возвращает номерФункция
простой игры. Смотрите
всех разных файлов
Excel переходим на место хранения документа,
: VBA простейший макрос. штатным фильтром типа
Ermak dogma
Функция
выбрать в полеЧтобы выполнить поиск по вас актуальными справочными строке "мама мыла
любой последовательности знаков.и номер значения. Если строки ячейки. ЕслиSEARCH
Excel. как в Excel сделать поиск, я знаю что можно подскажите как
статью "Игра в со словом «визитка»
закладку «Файл» (в тем быстрее произойдет Повесил на событиеContains: "ключевое слово": Дпнные/Список/Создать список.
поискаИскать
всему листу, щелкните материалами на вашем раму" используйте формулу Если нужно найти
поиск ключевых слов по тексту Excel (Иное)
D третий аргумент функции мы разделим номер
(ПОИСК) ищет начальную Excel". - и текст Excel 2013) или поиск документа. листа "Изменение ячейки"Если очень хочетсяSergei shkloff
не учитывается регистр.вариант любую ячейку. языке. Эта страница =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ("мама мыла раму";"м";"";3))=ДЛСТР("мама в тексте вопросительный
. равен 1, Excel строки на крупное позицию искомого значенияЭтот пример научит вас в Word, и нажимаем на кнопкуНапример, мы указали обработчик который при вводить слово в: ctrl+f → Искать:В документе 46 листов,Лист
На вкладке переведена автоматически, поэтому мыла раму");"Нет третьего знак или звездочку,Результат: Ваша собственная строка
выстраивает числа по число и прибавим в строке. Функция создавать собственную строку
файл Excel, и «Office» в левом такой путь – изменении данных в ячейку, то то
(На листе) Меняешь и по 5илиГлавная ее текст может вхождения м";"Есть третье следует поставить перед поиска в Excel. возрастанию: от наименьшего это значение кSEARCH поиска в Excel. картинки с названием
верхнем углу (в «Этот компьютер» - ячейке с условием, же самое через (в книге) страниц на каждом,Книга
в группе содержать неточности и вхождение м") ними тильду (~).Урок подготовлен для Вас к большему. Поскольку результату функции(ПОИСК) не учитываетВот так выглядит таблица. «визитка», т.д. Excel 2007). «Документы» (мы помним, устанавливает соответствующий фильтр.
макросы (записав макрорекордером).ek09
В документах Microsoft Excel, которые состоят из большого количества полей, часто требуется найти определенные данные, наименование строки, и т.д. Очень неудобно, когда приходится просматривать огромное количество строк, чтобы найти нужное слово или выражение. Сэкономить время и нервы поможет встроенный поиск Microsoft Excel. Давайте разберемся, как он работает, и как им пользоваться.
Поисковая функция в Excel
Поисковая функция в программе Microsoft Excel предлагает возможность найти нужные текстовые или числовые значения через окно «Найти и заменить». Кроме того, в приложении имеется возможность расширенного поиска данных.
Способ 1: простой поиск
Простой поиск данных в программе Excel позволяет найти все ячейки, в которых содержится введенный в поисковое окно набор символов (буквы, цифры, слова, и т.д.) без учета регистра.
-
Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.
Поиск и выдача результатов производится построчно. Сначала обрабатываются все ячейки первой строки. Если данные отвечающие условию найдены не были, программа начинает искать во второй строке, и так далее, пока не отыщет удовлетворительный результат.
Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «прав», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, релевантным запросу в этом случае будет считаться слово «Направо». Если вы зададите в поисковике цифру «1», то в ответ попадут ячейки, которые содержат, например, число «516».
Для того, чтобы перейти к следующему результату, опять нажмите кнопку «Найти далее».
Способ 2: поиск по указанному интервалу ячеек
Если у вас довольно масштабная таблица, то в таком случае не всегда удобно производить поиск по всему листу, ведь в поисковой выдаче может оказаться огромное количество результатов, которые в конкретном случае не нужны. Существует способ ограничить поисковое пространство только определенным диапазоном ячеек.
- Выделяем область ячеек, в которой хотим произвести поиск.
Способ 3: Расширенный поиск
Как уже говорилось выше, при обычном поиске в результаты выдачи попадают абсолютно все ячейки, содержащие последовательный набор поисковых символов в любом виде не зависимо от регистра.
К тому же, в выдачу может попасть не только содержимое конкретной ячейки, но и адрес элемента, на который она ссылается. Например, в ячейке E2 содержится формула, которая представляет собой сумму ячеек A4 и C3. Эта сумма равна 10, и именно это число отображается в ячейке E2. Но, если мы зададим в поиске цифру «4», то среди результатов выдачи будет все та же ячейка E2. Как такое могло получиться? Просто в ячейке E2 в качестве формулы содержится адрес на ячейку A4, который как раз включает в себя искомую цифру 4.
Но, как отсечь такие, и другие заведомо неприемлемые результаты выдачи поиска? Именно для этих целей существует расширенный поиск Excel.
-
После открытия окна «Найти и заменить» любым вышеописанным способом, жмем на кнопку «Параметры».
По умолчанию, функции «Учитывать регистр» и «Ячейки целиком» отключены, но, если мы поставим галочки около соответствующих пунктов, то в таком случае, при формировании результата будет учитываться введенный регистр, и точное совпадение. Если вы введете слово с маленькой буквы, то в поисковую выдачу, ячейки содержащие написание этого слова с большой буквы, как это было бы по умолчанию, уже не попадут. Кроме того, если включена функция «Ячейки целиком», то в выдачу будут добавляться только элементы, содержащие точное наименование. Например, если вы зададите поисковый запрос «Николаев», то ячейки, содержащие текст «Николаев А. Д.», в выдачу уже добавлены не будут.
По умолчанию, поиск производится только на активном листе Excel. Но, если параметр «Искать» вы переведете в позицию «В книге», то поиск будет производиться по всем листам открытого файла.
В параметре «Просматривать» можно изменить направление поиска. По умолчанию, как уже говорилось выше, поиск ведется по порядку построчно. Переставив переключатель в позицию «По столбцам», можно задать порядок формирования результатов выдачи, начиная с первого столбца.
В графе «Область поиска» определяется, среди каких конкретно элементов производится поиск. По умолчанию, это формулы, то есть те данные, которые при клике по ячейке отображаются в строке формул. Это может быть слово, число или ссылка на ячейку. При этом, программа, выполняя поиск, видит только ссылку, а не результат. Об этом эффекте велась речь выше. Для того, чтобы производить поиск именно по результатам, по тем данным, которые отображаются в ячейке, а не в строке формул, нужно переставить переключатель из позиции «Формулы» в позицию «Значения». Кроме того, существует возможность поиска по примечаниям. В этом случае, переключатель переставляем в позицию «Примечания».
Ещё более точно поиск можно задать, нажав на кнопку «Формат».
При этом открывается окно формата ячеек. Тут можно установить формат ячеек, которые будут участвовать в поиске. Можно устанавливать ограничения по числовому формату, по выравниванию, шрифту, границе, заливке и защите, по одному из этих параметров, или комбинируя их вместе.
Если вы хотите использовать формат какой-то конкретной ячейки, то в нижней части окна нажмите на кнопку «Использовать формат этой ячейки…».
После этого, появляется инструмент в виде пипетки. С помощью него можно выделить ту ячейку, формат которой вы собираетесь использовать.
После того, как формат поиска настроен, жмем на кнопку «OK».
Как видим, программа Excel представляет собой довольно простой, но вместе с тем очень функциональный набор инструментов поиска. Для того, чтобы произвести простейший писк, достаточно вызвать поисковое окно, ввести в него запрос, и нажать на кнопку. Но, в то же время, существует возможность настройки индивидуального поиска с большим количеством различных параметров и дополнительных настроек.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Для многих пользователей основным местом хранения практически любой электронной информации является жесткий диск в компьютере или флешка. Со временем данных может накапливаться большое количество и даже качественная сортировка и структуризация могут не помочь — без дополнительной помощи отыскивать нужное станет сложно, особенно когда помнишь содержимое, но не помнишь имя файла. В Windows 10 есть сразу два варианта того, как искать файлы по их отрывку.
Поиск файлов по содержимому в Виндовс 10
В первую очередь с данной задачей ассоциируются обычные текстовые файлы: мы сохраняем на компьютере различные заметки, интересные сведения из интернета, рабочие/учебные данные, таблицы, презентации, книги, письма из почтового клиента и многое другое, что можно выразить текстом. Помимо этого по содержимому можно искать и узконаправленные файлы — сохраненные страницы сайтов, код, хранящийся к примеру, в расширении JS и др.
Способ 1: Сторонние программы
Обычно функциональности встроенного поисковика Windows достаточно (о нем мы рассказали в Способе 2), но сторонние программы в ряде случаев будут приоритетнее. К примеру, настройка параметров расширенного поиска в Виндовс устроена таким образом, что вы делаете ее один раз и надолго. Вы также можете выставить поиск по всему накопителю, но при большом количестве файлов и объемном жестком диске процесс иногда замедляется. То есть гибкости системой не предусмотрено, сторонние же программы позволяют каждый раз искать по новому адресу, сужая критерии и используя дополнительные фильтры. К тому же такие программы часто выступают небольшими файловыми помощниками и имеют расширенные возможности.
В этот раз мы рассмотрим работу простой программы Everything, поддерживающей поиск на русском языке локально, на внешних девайсах (HDD, флешка, карта памяти) и на серверах FTP.
- Скачайте, установите и запустите программу обычным способом.
- Для обычного поиска по названию файла достаточно воспользоваться соответствующим полем. При параллельной работе с другим ПО результаты будут обновляться в режиме реального времени, то есть если вы сохранили какой-то файл, соответствующий введенному имени, он тут же добавится в выдачу.
Остальные возможности программы вы можете узнать из нашего обзора программы по ссылке выше или самостоятельно. В целом это очень удобный инструмент, когда требуется быстро искать файлы по их содержимому, будь то встроенный накопитель, внешний диск/флешка или FTP-сервер.
Если работа с Everything не подходит, ознакомьтесь со списком других похожих программ по ссылке ниже.
Способ 2: Поиск через «Пуск»
Меню «Пуск» в десятке было улучшено, и сейчас оно не такое ограниченное, как было в прошлых версиях этой операционной системы. Используя его, можно отыскать нужный файл в компьютере по его содержимому.
Для того чтобы этот способ был рабочим, необходима включенная расширенная индексация на компьютере. Поэтому первым делом разберем, как ее активировать.
Включение службы
У вас должна быть запущена служба, отвечающая за поиск в Виндовс.
-
Чтобы это проверить и при необходимости изменить ее статус, нажмите Win + R и в поисковое поле впишите services.msc , затем нажмите Enter.
Включение разрешения индексации на жестком диске
Жесткий диск должен иметь разрешение на индексацию файлов. Для этого открываем «Проводник» и переходим в «Этот компьютер». Выбираем тот раздел диска, на котором планируется совершать поиск сейчас и в будущем. Если таких разделов несколько, выполните дальнейшую настройку поочередно со всеми ними. При отсутствии дополнительных разделов работать будем с одним — «Локальный диск (С:)». Жмем правой кнопкой мыши по иконке и выбираем «Свойства».
Убедитесь, что галочка рядом с пунктом «Разрешить индексирование…» установлена или поставьте ее самостоятельно, сохранив изменения.
Настройка индексации
Теперь остается включить расширенную индексацию.
-
Открываем «Пуск», в поисковом поле пишем что угодно, чтобы запустить меню поиска. В правом верхнем углу жмем по троеточию и из выпавшего меню кликаем на единственный доступный вариант «Параметры индексирования».
Напоминаем, что здесь надо выбирать те места, в которых вы планируете совершать поиск в дальнейшем. Если выбирать сразу весь раздел, в случае с системным будут исключены самые важные его папки. Это сделано и в целях безопасности, и для сокращения времени ожидания поиска. Все остальные настройки касательно индексируемых мест и исключений при желании настройте самостоятельно.
Конечно, полный список файлов, которые поддерживает поисковик десятки, куда больше, и показывать все примеры не имеет смысла.
Теперь вы знаете, как оптимизировать поиск по содержимому в Windows 10. Это позволит сохранять больше полезной информации и не теряться в ней, как прежде.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Еще статьи по данной теме:
Поиск слов внутри файлов это одна из основных функций ОС. Потому она должна работать сразу без всяческих манипуляций настройки., как это и было в Виндоус ХР. Я купил компьютер с предустановленной Видоус 10 и поиск в ней не работает. Это говорит о том, что разработчики этой ОС не имеют необходимой квалификации, раз выпустили на рынок систему, которая не способно делать то, что с лёгкостью делала предыдущая ОС.
Полностью согласен. Это эпический провал.
здесь описаны 13 шагов, которые необходимы чтобы поиск в win10 заработал. Мля! тринадцать карл! Решил разобраться как искать «как раньше», потому что сейчас «вообще никак»… ну начал копать, а яма все глубже и глубже, и вот она уже 13 метров в глубину! так и хочется спросить: «Где поиск Билли? Нам нужен поиск!» (c) Остров сокровищ
Текущие возможности Windows 10, увы, ограничены тем, о чем рассказано в статье.
Похоже в новой версии windows 10 поиск изменили.
Спасибо за помощь, эта программа мне очень помогла, обычным путём я не мог найти казалось бы уже удалённую программу.
А все новые скаченные добавленные файлы будут автоматически проиндексированы и поиск работать будет? или индексацию нужно периодически повторять?
Иногда бывает необходимо заполучить на лист Excel список файлов в заданной папке и ее подпапках. В моей практике такое встречалось неоднократно, например:
- перечислить в приложении к договору на проведение тренинга список файлов из раздаточных материалов для особо щепетильных юристов в некоторых компаниях
- создать список файлов для ТЗ проекта
- сравнить содержимое папок (оригинал и бэкап, например)
Для реализации подобной задачи можно использовать несколько способов.
Способ 1. Скелет из шкафа - функция ФАЙЛЫ
Этот способ использует древнюю функцию ФАЙЛЫ (FILES) , оставшуюся в Microsoft Excel с далеких девяностых. Вы не найдете эту функцию в общем списке функций, но для совместимости, она всё ещё остаётся внутри движка Excel, и мы вполне можем её использовать.
1. В любую ячейку листа (например, в А1) введём путь к папке, список файлов из которой мы хотим получить.
Обратите внимание, что путь должен оканчиваться шаблоном со звездочками:
- *.* - любые файлы
- *.xlsx - книги Excel (только с расширением xlsx)
- *.xl* - любые файлы Excel
- *отчет* - файлы, содержащие слово отчет в названии
2. Создадим именованный диапазон с помощью вкладки Формулы - далее кнопка Диспетчер имен - Создать (Formulas - Names Manger - Create) . В открывшемся окне введем любое имя без пробелов (например Мои_файлы) и в поле диапазона выражение:
После нажатия на ОК будет создан именованный диапазон с именем Мои_файлы, где хранится список всех файлов из указанной в А1 папки. Останется их оттуда только извлечь.
3. Чтобы извлечь имена отдельных файлов из созданной переменной, используем функцию ИНДЕКС (INDEX) , которая в Excel вытаскивает данные из массива по их номеру:
Если лениво делать отдельный столбец с нумерацией, то можно воспользоваться костылем в виде функции СТРОКИ (ROWS) , которая будет подсчитывать количество заполненных строк с начала списка автоматически:
=ИНДЕКС(Мои_файлы; ЧСТРОК($B$3:B3) )
= ЕСЛИОШИБКА( ИНДЕКС(Мои_файлы; ЧСТРОК($B$3:B3)) ; "")
Важное примечание : формально функция ФАЙЛЫ относится к макро-функциям, поэтому необходимо будет сохранить ваш файл в формате с поддержкой макросов (xlsm или xlsb).
Способ 2. Готовый макрос для ленивых
Если вы знакомы с макросами (не в смысле их программирования, а в смысле копипастинга готовых кодов на VBA), то вам, возможно, отлично зайдёт небольшой макрос, добавляющий в текущую книгу новый пустой лист и выводящий на него список всех файлов с их параметрами из заданной пользователем папки.
Для добавления макроса в вашу книгу нажмите сочетание клавиш Alt + F11 , или кнопку Visual Basic на вкладке Разработчик (Developer) , в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert - Module и скопируйте туда текст этого макроса:
Для запуска макроса нажмите сочетание клавиш Alt + F8 ,или кнопку Макросы (Macros) на вкладке Разработчик (Developer) , выберите наш макрос FileList и нажмите кнопку Выполнить (Run) . В диалоговом окне выберите любую папку или диск и - вуаля!
Если захотите, чтобы вместо пути к файлу в столбце B выводилась живая гиперссылка, то замените 52-ю строку
Cells(r, 2).Formula = FileItem.Path
Cells(r, 2).Formula = "=HYPERLINK(""" & FileItem.Path & """)"
Способ 3. Мощь и красота - надстройка Power Query
Power Query - это очень мощная и при этом бесплатная надстройка для Excel от Microsoft, упрощающая множество задач по загрузке и трансформации данных. В нашей ситуации она тоже может здорово помочь.
Если у вас Excel 2016 или новее, то Power Query уже встроена в Excel по умолчанию, поэтому просто на вкладке Данные выберите команду Создать запрос / Получить данные - Из файла - Из папки (Create Query / Get Data - From file - From folder) . Если у вас Excel 2010-2013, то Power Query нужно будет скачать с сайта Microsoft и установить как отдельную надстройку и она появится у вас в Excel в виде отдельной вкладки Power Query. На ней будет аналогичная кнопка Из файла - Из папки (From file - From folder) .
В открывшемся окне нужно будет указать папку, содержимое которой мы хотим получить. После нажатия на ОК Power Query обшарит указанную папку и все вложенные подпапки и выдаст на экран окно с предварительным просмотром результатов:
Если внешний вид списка вас устраивает, то можно смело жать внизу кнопку Загрузить (Load) , чтобы залить эти данные на новый лист. Если же хочется дополнительно обработать список (удалить лишние столбцы, отобрать только нужные файлы и т.п.), то нужно выбрать команду Изменить / Преобразовать данные (Edit / Transform Data).
Поверх окна Excel откроется окно редактора Power Query, где мы увидим список всех наших файлов в виде таблицы:
Дальше возможны несколько вариантов:
-
Если нужны только файлы определенного типа, то их можно легко отобрать с помощью фильтра по столбцу Extension:
После того, как необходимые файлы отобраны, можно смело удалить ненужные столбцы, щелкнув по заголовку столбца правой кнопкой мыши и выбрав команду Удалить (Remove column ) . Это, кстати, уже никак не повлияет на фильтрацию или сортировку нашего списка:
Если в будущем планируется подсчитывать количество файлов в каждой папке (например, для контроля поступивших заявок или подсчета статистики по заявкам), то имеет смысл дополнительно сделать ещё пару действий:
- Щелкните правой кнопкой мыши по столбцу Folder Path и выберите команду Дублировать столбец (Duplicate Column) .
- Выделите скопированный столбец и на вкладке Преобразование (Transform) выберите Разделить столбец - По разделителю (Split Column - By delimiter)
Мы получим рядом с нашими данными еще несколько столбцов, где будут продублированы имена вложенных папок - это пригодится нам чуть позже для подсчета статистики с помощью сводной таблицы:
Получившиеся столбцы можно переименовать (Диск, Папка1, Папка2 и т.д.), просто щёлкнув дважды по заголовку каждого.
И, наконец, когда список готов, то его можно выгрузить на лист с помощью команды Главная - Закрыть и загрузить - Закрыть и загрузить в. (Home - Close & Load - Close & Load to. ) :
И, само-собой, теперь можно построить по нашей таблице сводную (вкладка Вставка - Сводная таблица), чтобы легко подсчитать количество файлов в каждой папке:
Дополнительным бонусом можно сделать еще один столбец с функцией ГИПЕРССЫЛКА (HYPERLINK) , которая создаст красивые стрелочки-ссылки для моментального перехода к каждому файлу:
Мелочь, а приятно :)
И вдвойне приятно, что в будущем, при изменении содержимого исходной папки, достаточно будет просто щелкнуть мышью по нашей таблице и выбрать команду Обновить (Refresh) - и Power Query выполнит всю цепочку запрограммированных нами единожды действий уже автоматически, отобразив все изменения в составе папки.
Читайте также: