フォルダーとそのサブフォルダー内にあるすべてのファイルをワークシートに一覧表示するには、どうすればよいですか?
さまざまなフォルダーやサブフォルダーに保存された大量のファイルを扱う際、追跡・カタログ化・バッチ処理などの目的で、すべてのファイル名を包括的に一覧表示する必要が生じることがあります。しかし、Excel にはサブフォルダー内のファイルを含めてフォルダーからすべてのファイル名をワークシートに一覧表示するための直接的な組み込み機能が備わっていません。この制限は、特にフォルダー構造が複雑であったり、ファイルが定期的に更新されたりする場合に課題となることがあります。幸いにも、Excel 内でこの作業を効率的に実現するための実用的かつ信頼性の高い方法がいくつか存在します。
本ガイドでは、サブフォルダー内のファイルを含め、すべてのファイル名をExcel ワークシートに直接一覧表示するための複数のアプローチをご紹介します。あわせて、詳細な操作手順やパラメーターの説明、そしてよくある落とし穴を回避するための実用的なヒントも提供します。これらのソリューションを使えば、ファイル管理プロセスが効率化され、業務用途にも個人的な整理整頓タスクにも柔軟に対応できます。
Power Query でフォルダーとサブフォルダー内のすべてのファイル名を素早く簡単に一覧表示
Kutools for Excel でフォルダーとサブフォルダー内のすべてのファイル名を素早く簡単に一覧表示
VBA コードでフォルダーとサブフォルダー内のすべてのファイル名を一覧表示
Power Query でフォルダーとサブフォルダー内のすべてのファイル名を素早く簡単に一覧表示
最新バージョンのExcel では、組み込みの「データ取得」(Power Query)機能を使って、フォルダー内のファイル一覧と選択した属性を簡単に読み込めます。
1。「データ」>「データの取得」>「ファイルから」>「フォルダーから」をクリックします。
2。一覧表示したいフォルダーを選択して、「開く」をクリックします。
選択したフォルダー内のすべてのファイル(サブフォルダー内のファイルも含む)が、テーブル形式で一覧表示されます。
3。「読み込む/読み込む先として」ワークシートに一覧を読み込みます。
Kutools for Excel でフォルダーとサブフォルダー内のすべてのファイル名を素早く簡単に一覧表示
VBA はシンプルな一覧作成には優れていますが、コーディングやExcel のマクロセキュリティ設定に不慣れな方にとってはやや使いづらく感じられるかもしれません。さらに、ファイル名だけでなく、ファイルサイズ・種類・作成日時・更新日時など、その他の詳細な属性を一度に表示したい場合には、Kutools for Excelアドインが直感的で強力なソリューションを提供します。
ファイル名リストツールはKutools for Excelに搭載されており、選択したフォルダーとそのすべてのサブフォルダーから、わずか数回のクリックでファイル情報を一括収集できます。この機能は、ファイルタイプでフィルターをかけたり、アクセスしやすいようにハイパーリンクを自動生成したり、結果に隠しファイルや【Folder】を含めたりといった追加の柔軟性が必要なユーザーに特に役立ちます。ドキュメントアーカイブの管理、マルチメディアライブラリの追跡、バックアップや監査目的でのデータインベントリ作成などに最適です。以下の手順を進める前に、Kutools for Excelのダウンロードおよびインストールが必要であることにご注意ください。
インストール完了後、ファイル名リスト機能をご利用になるには、以下の手順に従ってください。
1。Excel のツールバーにある「エンタープライズ」タブをクリックし、「インポート/エクスポート」を選択した後、メニューから「ファイル名リスト」を選択してください。これにより、設定ダイアログボックスが開きます。

2。「ファイル名リスト」ダイアログボックスでは、以下のオプションを設定して、ファイルリストをニーズに合わせてカスタマイズできます。
A:フォルダーアイコンをクリックして
スキャン対象のフォルダーを選択します。必要に応じて、ツールは自動的にサブフォルダーも含めます。
B:「ファイルの種類」セクションでは、「すべてのファイル」を選択して、ファイルの種類を問わずすべてを対象にすることも、特定のファイル拡張子(例:*。xlsx、*。docx)を指定して、特定のファイルタイプのみを対象にすることもできます。
C:「ファイルサイズの単位」セクションで、ファイルサイズの表示単位(バイト、KB、MB など)を選び、より分かりやすくカスタマイズできます。
注:すべてのサブフォルダー内のファイル名を一覧に含めるには、必ず「サブディレクトリ内のファイルを含める」オプションをオンにしてください。さらに、非表示ファイルやフォルダーも表示したい場合は、「非表示ファイルとフォルダを含める」をオンにしましょう。「ハイパーリンクの作成」オプションをオンにすれば、各ファイルやフォルダーへのクリック可能なリンクが自動生成され、ワークシートから直接ファイルに素早くアクセスできて大変便利です。一覧にファイルが表示されない場合は、フィルター設定を確認し、ファイルが権限やシステム制限によってアクセスできない状態になっていないかをご確認ください。

3。「OK」をクリックすると、ファイルリストが生成されます。選択したフォルダーとそのサブフォルダー内のすべてのファイルが新しいワークシートに表示され、フルパス、サイズ、種類、作成日、更新日時などの選択したファイル属性も併せて表示されます。これにより、明確で整理された概要が得られ、Excel の使い慣れたフィルターや並べ替え機能を使ってさらにデータを効率的に管理できます。

このファイル名リストユーティリティの詳細については、こちらをクリックしてください。
今すぐKutools for Excel をダウンロードして、ぜひお試しください!
VBA コードでフォルダーとサブフォルダー内のすべてのファイル名を一覧表示
標準では、Excel にはフォルダーとそのサブフォルダー内のファイルを再帰的に一覧表示するネイティブ関数は含まれていません。ただし、VBA(Visual Basic for Applications)を使えば、このプロセスを自動化できます。VBA を活用することで、上級ユーザーはExcel の機能をさらに拡張し、出力を自由にカスタマイズすることが可能です。たとえば、ファイル名だけでなく、ファイルパスなどの追加プロパティも取得できます。
このソリューションは、VBA エディターに慣れており、同様のファイルリスト作成手順を定期的に自動化したい方に特に最適です。また、アドインをインストールせずにExcel 環境をシンプルに保ちたいユーザーにもおすすめです。ただし、VBA マクロを使用するにはExcel でマクロを有効にする必要がありますが、セキュリティレベルが高い環境では制限されている場合があります。マクロを実行する前に、必ずワークブックを保存し、未保存の変更内容が失われないようにご注意ください。
1。すべてのファイル名を一覧表示するための新しいワークシートを作成するか、アクティブにしてください。大切なデータを上書きしないよう、このワークシートが空であることを必ず確認してください。
2。ALT + F11キーを押して、Microsoft Visual Basic for Applications(VBA)エディターを開きます。
3。VBA ウィンドウで、メニューバーの「挿入」をクリックして「標準モジュール」を選択すると、VBA コードを貼り付けるための新しいモジュールが追加されます。
VBA コード:フォルダーとサブフォルダー内のすべてのファイル名を一覧表示
Sub MainList()
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End Sub
Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
For Each xSubFolder In xFolder.SubFolders
ListFilesInFolder xSubFolder.Path, True
Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub
Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function
コードを実行する前に、使用されている関数や変数を把握するため、コメントを確認してください。一覧表示するデータ(フルパスやファイルタイプなど)を変更したい場合は、それに応じてコードを調整する必要がある場合があります。
4。モジュールウィンドウにコードを貼り付けたら、「F5」キーを押してコードを実行します。すると、「マクロ」ダイアログボックスが表示されるので、「MainList」というマクロ名を選択し、「実行」をクリックしてください。同名の他のマクロがある場合は、正しいものを選択しているかご確認ください。

5。「参照」ダイアログが表示されたら、ファイルとサブフォルダーを一覧表示したい対象フォルダーに移動して選択してください。マクロは選択したフォルダーから、入れ子になったすべてのサブフォルダー内のファイルを再帰的に取得するため、開始フォルダーを正しく選択することが重要です。

6。目的のフォルダーを指定したら、OKをクリックします。これにより、マクロがそのフォルダーとすべてのサブディレクトリを処理し、ファイル名のリストを現在のワークシートのセル A2 から出力します。ファイル数やサブフォルダーの階層の深さによっては、処理に数秒以上かかる場合があります。生成されたリストで、フォルダーの内容を詳細に確認できます。
![]() |
![]() |
![]() |
エラーが発生した場合は、まず選択したフォルダーが存在し、ファイルを含んでいることを再度ご確認ください。また、Excel のセキュリティ設定でマクロが有効になっているかどうかも必ずご確認ください。大規模なフォルダー構造やネットワークドライブを処理する際には、処理時間が長くなり、タイムアウトエラーやメモリエラーが発生する可能性があります。そのような場合は、より小さなサブフォルダーに対してマクロを実行してみてください。
VBA は基本的なファイル一覧の取得に効率的ですが、通常はファイルサイズ、更新日時、ファイル所有者などの属性をデフォルトで取得しません。こうした追加情報が必要な場合は、コードを編集するか、以下で紹介する代替方法をご検討ください。
最良の結果を得るには、フォルダーの内容が頻繁に変更される場合、ファイルリストを定期的に見直し・更新することをおすすめします。特にネットワーク上の場所や共有ドライブをスキャンする際は、必要なアクセス権限を必ずご確認ください。予期しない結果が得られた場合は、隠しファイル、同期の遅延、ファイルへのアクセス制限などが原因でないかをご確認ください。ファイルやフォルダーがスキップされた場合は、Excel を管理者として実行するか、よりシンプルなフォルダー構造をお試しください。
最適な方法の選択は、ユーザーの習熟度、具体的な要件、およびこの作業を実行する頻度によって異なります。各方法にはそれぞれメリットがあります。カスタマイズ性を重視される場合は VBA を、利便性やより多くの属性情報を求める場合はKutools を、外部ツールを使わずシンプルな解決策をご希望の場合はWindows/Excel の標準機能をご利用いただけます。問題が解決しない場合は、Excel またはシステムのドキュメントをご参照いただき、さらにトラブルシューティングを進めてください。
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得


