[[20210920140243]] 『各ファイルから平均値を抽出』(Sohshi) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『各ファイルから平均値を抽出』(Sohshi)

すみません,先ほどの質問への追記の仕方がわからないので,
再度質問させていただきます。

約100個のデータのファイルから平均値だけを
取り出すにはどうすればよいでしょうか.

100個のデータファイルとは,Excelのデータファイルです.

そのExcelの100個のデータファイルは,1つのフォルダに保存されています.

平均値のセルは必ず"平均値"と書かれたセルの右隣にありますが,
"平均値"と書かれたセルの場所はファイルによって異なります.

それらの100個のファイルから抽出したデータを別のExcelにまとめて記載したいです.

ご回答の程,宜しくお願いいたします.

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 各ファイルのシート名
 "平均値"と書かれたセルの列
 は判明していますか?
(seiya) 2021/09/20(月) 14:22

[[20210920122841]]
はどうしたんですか。
コメントしておいた方がいいですよ。
(*) 2021/09/20(月) 14:30

seiya さん,
ご回答ありがとうございます.

はい,そうです.
"平均値"と書かれたセルの列は判明しています.

しかし,行がファイルによって異なります.
(Sohshi) 2021/09/20(月) 14:53


 シート名をSheet1,列インデックスを 1(A列)に設定
 フォルダ名は "C:\test"としているので夫々実際の値に変更してください。
 Sub test()
     Dim myDir As String, fn As String, x, n As Long
     Const wsName As String = "Sheet1", myCol As Long = 1  '<---シート名,列インデックスの設定
     myDir = "C:\test"   '<--- 実際のフォルダ名に変更
     fn = Dir(myDir & "\*.xls")
     Do While fn <> ""
         x = ExecuteExcel4Macro("vlookup(""平均値"",'" & myDir & "\[" & fn & "]" & _
            wsName & "'!r1c" & myCol & ":r100000c" & myCol + 1 & ", 2, False)")
         If Not IsError(x) Then
             n = n + IIf(n = 0, 2, 1)
             Cells(n, 1).Resize(, 2) = Array(fn, x)
         End If
         fn = Dir
     Loop
 End Sub
(seiya) 2021/09/20(月) 15:03

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.