• 締切済み

excelで別ファイルのデータの上位5件だけリンクさせたい

excelであるシステムを作りたいのですが、わからないところがいくつかあり、詳しい方いらっしゃいましたら教えてください。 Q1)excelのファイル(メイン)にいくつかのファイル(ファイルA、B、C・・・)から情報をリンク貼り付けしたいんですが、それぞれのファイルに入力した最新5件分のデータだけメインに表示するような方法はありますか? Q2)データを入力したら、メインのページに最終更新日時を自動的に入れたいのですが、保存した日時をいれるような関数、または方法はありますか? Q3)メインファイルを開いて、そこから入力したい項目(ファイルA,B,C・・・)をクリックすると自動的にそのファイルが開く、ということはできますか? 以上、内容がわかりにくいかもしれませんが質問いただければ追記します。どうかよろしくお願いいたします。 ほかに、なにかアドバイスや気付かれたことがあれば教えていただければ幸いです。

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

質問の仕方から見て、Excel初心者とお見受けしました。 なるべくマクロを使わずに、簡単にやろうと思うなら、こんな方法はいかがでしょう。説明上、ファイルはメインとファイルAだけにします。 また、メインブックとファイルAは同じフォルダにあるとします。 Q1.運用で、データ入力はファイルAの Sheet1、A列の後ろにデータを追加する事にする(データはA1から)。 メインブックのセルA1に、以下の式を入れてファイルAのA列データ数を取得。  =COUNTA([ファイルA.xls]Sheet1!$A:$A)  メインブックのセル A2:A6に以下の式を入れる  =INDEX([ファイルA.xls]Sheet1!$A:$A,$A$1-6+ROW())  メインブックを開きなおすか、リンクの更新を行うと最新情報に更新されます。 Q2.「最終更新日時」は、ファイルAの最終更新日時ですよね?  これはマクロを使わないと難しいです。  メインブックに以下のマクロを入れて動かします。 Sub sample()  Range("B1") = FileDateTime(ThisWorkbook.Path & "\ファイルA.xls")   End Sub   「データ入力のためにファイルAを開いた日時」で良いのなら、マクロを使わないこんな手もあります。  ファイルAのセルB1に =NOW() と入力  メインブックのセルB1に =[ファイルA.xls]Sheet1!B1 Q3.これはハイパーリンクを使います。   メインブックの適当なセルに =HYPERLINK("ファイルA.xls","ファイルA")   セルに表示される「ファイルA」をクリックすると、ファイルA.xlsが開きます。 本格的にやろうと思うならマクロでバリバリやる事になりますが、使い勝手に我慢すればさほど難しいことをしなくても何とかなります。