Excelファイルとのリンクについて。

例えば、
フォルダAに ブック1 と ブック2 が入っていたとします。
ブック2は、データが毎週更新され人から受け取ります(レイアウトは変わりません)。

そこで、質問です。
ブック1内 に ブック2のデータをリンクさせたいのですが、どのようにすればできるでしょうか?(たしか以前に、メニューから引用という形でできていたような気がするのですが、、方法が分かりません。毎週渡されるブック2を入れ替えれば、ブック1も更新されるというのをイメージしています。)

ご存じありましたら、ご教授いただきたく思います。
よろしくお願いします。

A 回答 (1件)

自己解決力を付けるため、是非、Excelのヘルプを利用する習慣を付けることをお勧めします。



以下は、ヘルプの「ほかのブックやプログラムへのリンクの例」の一部です。

ほかのブックへのリンクが含まれる数式は、数式の参照元のデータがあるブックが開いているかどうかによって、2 種類の方法で表示されます。

リンク元のブックが開いている場合は、そのブック名が角かっこ ([ ]) で囲まれ、次にワークシート名、感嘆符 (!)、リンク先のセルの順に表示されます。たとえば、次の数式は、Budget.xls という名前のブックのセル C10:C25 を合計します。

リンク
=SUM([Budget.xls]Annual!C10:C25)

リンク先のブックが閉じている場合は、ブック名の前にフルパスが表示されます。

リンク
=SUM('C:\Reports\[Budget.xls]Annual'!C10:C25)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル 別ファイル内の特定のシートへリンクしたいのに

こんにちわ。

エクセルのリンクについて質問です。
使用しているのはExcel2000です

エクセルでインデックスを作成し、そのシートから
別に用意しているエクセルファイルへリンクをしたいのです。

Aファイルに1・2・3とシートがあった場合
INDEXにはそれぞれ1・2・3別々にリンク先を設け
それぞれをクリックするとしかるべきシートへ飛びたい。

今のところできているのはジャンプ先のファイルを「開くだけ」のようで、シート2の目次をクリックしても
シート1が開いてしまいます。
どうすればよいでしょうか???

Aベストアンサー

リンク先にあらかじめ「名前」を定義しておくと可能かと思います。
これは言ってみれば特定のセルに付ける「目印」のようなものです。
[名前の定義方法]
(1)「クリックしたら開かせたいシート」の先頭のセルを選択して
 メニューバー「挿入」-「名前」-「定義」をクリック。
(2)「名前」欄に、分かりやすい名称を入力して「OK」ボタンをクリック
(3)(1)~(2)を必要なだけ繰り返す。
[「名前」を使ったリンクの設定]
(1)リンクを設定したいセルをクリックして、ツールバー「ハイパーリンクの挿入」ボタンをクリック
(2)リンク先として目的のファイルを選択し(おそらくここまではご自分でできているんですよね?)、さらに「ブックマーク」ボタンをクリック
(3)定義した名前が出てくるので、リンク先の「名前」をクリック
(4)OKボタンをクリック
 →「アドレス」欄に「・・・・(ファイル名)#(名前)」と表示されているかと思います。これで「○○ファイルの××という名前をつけた場所」という、ピンポイント的なリンクが設定されます。
(5)「OK」ボタンをクリック
いかがでしょう?

リンク先にあらかじめ「名前」を定義しておくと可能かと思います。
これは言ってみれば特定のセルに付ける「目印」のようなものです。
[名前の定義方法]
(1)「クリックしたら開かせたいシート」の先頭のセルを選択して
 メニューバー「挿入」-「名前」-「定義」をクリック。
(2)「名前」欄に、分かりやすい名称を入力して「OK」ボタンをクリック
(3)(1)~(2)を必要なだけ繰り返す。
[「名前」を使ったリンクの設定]
(1)リンクを設定したいセルをクリックして、ツールバー「ハイパーリンクの挿入」ボタ...続きを読む

Q【Excel】 他のブックのデータを引用する方法

とあるデータ表(ファイルAとします)を作成する時、一部他のブック(ファイルBとします)のデータを引用してみました。該当セルにはそのファイル名、シート名及びセル名称を入力(というか、ファイルBを開き使用するセルをマウスで選択したのですが)しました。

ここまでは良かったのですが、ファイルAとファイルBを共有フォルダへ保存し他のパソコンでファイルB→ファイルAの順に開くと、ファイルAを開く際に「ほかのファイルへの自動リンクが設定されています…」と出てしまいます。

共有ファイルに保存したので普通にできると思ったのですが、やはりこのメッセージは表示されてしまうのでしょうか?

リンクの更新をすれば問題なくできるのはわかっていますが、いちいちこの操作をしたくないので、このメッセージが出ない様にする賢い方法が他にあるのでしょうか?

Aベストアンサー

メニューのツール→オプション→「編集」タブで
「リンクの自動更新前にメッセージを表示する」
のチェックを外すと、メッセージは表示されなくなります。

ただし、下記にも書かれているとおり、このオプションは、現在のユーザーにのみ適用され、現在のユーザーが開いているすべてのブックに影響します。
また、同じブックを使用する他のユーザーには影響しません。

http://support.microsoft.com/default.aspx?scid=kb;ja;826921

Qエクセルで数式は残したまま他シートからのリンクを一括で外す方法

こんにちは。
早速ですが、ご教示ください。
実はエクセルでデータ資料をいくつものシートで作成しています。そのシートには他のシートからリンク貼り付けがなされたり、独自の数式が入っていたりします。
今回教えていただきたいのは、エクセルのシート(いくつもあります)から一括でリンク貼り付けだけ外す方法についてです。(リンク貼り付けを外した結果、値のみを残します。)但し、このシートの中にはそれぞれ独自の数式が入っており、この数式は残したいのです。(従って、シートをコピーして形式を選択して値のみ貼りつけるとリンクは外れますが、数式も外れてしまうので、これでは困るのです)
分かりにくり文章で恐縮ですが、数式を残しつつリンク貼り付け部分を外すにはどのようにすれば良いかご教示ください。

Aベストアンサー

うまく説明できているか不安ですが・・・

(1)リンクをはずしたいシートをコピーする。(シートのコピー)
   (Sheet1ならSheet1(2)ができると思います。)
(2)コピーしたシートで
   「編集」→「置換」
   検索する文字列: *!*
   置換後の文字列:何も入力しない
   ですべて置換する。
   (この段階で、リンクしているセルは何も入力がなくなり、数式のみ残っている)
(3)元のシートで全体をコピーして元の場所に値のみ貼り付け
   (このシートは値しかなくなります。)
(4)コピーしたシートで全体をコピーし、
   元のシートで「空白セルを無視する」をチェックし、数式のみ貼り付け

でどうでしょうか?
うまくいかない場合は、補足してください。

Qexcel データを更新→既入力データを連動更新

excel2007 データを更新したら、別列ですでに入力してあるデータを合わせて更新(移動)させるにはどうすればよいでしょうか。

全員の情報が入っているシート1があります。
シート2~は、シート1の中からそれぞれの担当者のデータA~W列を、関数を使って抜き出しています。
(COUNTIF、INDEX、ROW、LARGEなどを組み合わせています)

シート2~のX列には、各担当者が自分で入力するところがあります。

シート1の情報は随時更新します。
社内システムからデータをcsvデータをダウンロードしているのでそれを貼り付けます。
それに対応してシート2~のA~W列も最新化されるようにしたのですが、
これだと、最初に入力してもらったX列とA~W列があわなくなってしまいます。

そこでA~W列を更新した場合、X列が自動的に、もともとのA~W列に対応した行に移動するようにしたいのですが
どうすればよいでしょうか。

マクロを使用する技術がなくメンテナンスができないため、できればマクロを使用しない方法でお願いします。

Aベストアンサー

マクロを使わずに,出来ることはほとんど何もありません。

1.随時記入されたX列のデータが「どのデータ(何列のデータ)に紐付いているのか」を特定します(これが最重要な作業です)
2.各担当がX列に追加記入する都度,紐付きデータとX列のデータをセットで別の場所(例えばシート1のAA列,AB列)に記録としてコピーします
3.A~W列でINDEX ROW LARGEの式で参照しているのと同じシクミでAA・AB列のデータを紐付きデータを手がかりにY列などに計算させます

などといった手順になります。
この内の2番の段取りで,通常はマクロなどを併用することになりますが,出来なければ手作業で「紐データ-X列データ」のセットを蓄積してください。



あるいはX列データはシート2以下の各人のシートの中でクローズしますので,わざわざ一回シート1に集積してから再配布とかしなくてかまいませんね。
各人シートのAA列・AB列に「データを特定できる紐データ」と「Xデータ」だけを上からずらずら記入させます。シート1をCSVから更新したらA~W列に数式で再掲するのと併せて,X列にAA/ABからデータを表示させるような仕込みにすることもできます。

マクロを使わずに,出来ることはほとんど何もありません。

1.随時記入されたX列のデータが「どのデータ(何列のデータ)に紐付いているのか」を特定します(これが最重要な作業です)
2.各担当がX列に追加記入する都度,紐付きデータとX列のデータをセットで別の場所(例えばシート1のAA列,AB列)に記録としてコピーします
3.A~W列でINDEX ROW LARGEの式で参照しているのと同じシクミでAA・AB列のデータを紐付きデータを手がかりにY列などに計算させます

などといった手...続きを読む

Qエクセルでリンク貼り付けしたリンク先のシート名を可変にしたい

エクセルでリンク貼り付けをすると、「='[リンク先.xls]リンク先シート名'!G37」の様な式になりますが、この式の中のリンク先シート名の部分を、例えばどこかに書いておいてそこを参照するとか、とにかく可変にしたいのです。
エクセルのバージョンは2000です。
よろしくお願いします。

Aベストアンサー

A1にシート名があるなら
=INDIRECT("[リンク先.xls]"&A1&"!G37")

Q「このブックには、ほかのデータソースのリンクが含まれています。」

エクセルのファイルを開いたら、

「このブックには、ほかのデータソースのリンクが含まれています。」
「更新する」「更新しない」
のボタンが出ます。

これは、なぜ出るのですか?
どこに、データソースのリンクが含まれているか、わかりません。
探し方を教えてください。

よろしく、お願いいたします。

Aベストアンサー

こんにちは。
他のエクセルブックのデータを参照する式が含まれている時に、そのメッセージが出ます。参照されているブックが手元にないのであれば、更新しないを選択すれば良いです。

例)
・Aさんが作ったBook_Aは、途中の計算の為にBook_Bのセルを参照する式が含まれている。
・Book_Aを開くと、Book_Bの最新データに更新される。(更新の有無に関わらず、確認メッセージは出ます)
・Aさんが、CさんにBook_Aのみを送った。
・Cさんは、手元にBook_Bがないので、更新しないを選ぶ。(最後にBook_Bを参照した時の結果がBook_Aに保存されている)

QHTMLで、エクセルのワークシートへリンク

HTMLで、エクセル内のワークシートへリンクさせたいのですが
その絶対パスの書き方がわかりません。

C:\Documentsから始まって~\エクセル\●●.xlsで、
エクセルフォルダ内、
●●のエクセルファイルまでは開くことができました。
で、さらに、
そのエクセルの中のワークシートまで指定したいのですが、
ワークシートのパスは
どのように書けばいいのでしょうか?

●●.xls\ワークシート名
では開きませんでした。

よろしくお願いします。

Aベストアンサー

IEのみですが
<a href="test.xls#Sheet2!A1" >エクセルシート2</a>
のようにしてみて下さい。
特に必要なくてもセルまで記述して下さい

QExel VBA 別ブックから該当データを検索し、必要なデータを取得判別し、データを書き換える

「緯度-経度 記録表」というブックがあります。
A列に測定点番号、B列に測定年月日、
C列に測定緯度、D列に測定経度、
E列に管理番号、F列に識別 です。

  A列       B列     C列     D列      E列      F列
 測定点番号   測定年月日  測定緯度   測定経度   管理番号    識別
1 S0112014   20140820  37.3745   140.981   SYS_3645  工事後
2 S0262014   20140926  37.3775   140.988   026_4565  工事前
3 S0122014    20140820  37.3762   140.956     012_3960  工事前
4 S0172015   20151013  37.3772   140.956   026_4565  工事後

※必ず「識別」が工事前と工事後で管理番号のみ同一のデータが2件ずつあります。
 上記だと2行目と4行目です

上記データが数千件。



また、「測定点番号一覧表」という別のブックには、
A列に測定点番号が、何千件と入力されています。

A列
測定点番号
1 S026014
2 S025558
3 S456789
4 S852147


やりたいことは
「緯度-経度 記録表」C列とD列の日付の古い方の「緯度」「経度」が間違えているので、日付の新しい方のデータの「緯度」「経度」を検索し貼り付けるという作業です。



現在行っている作業手順は

「測定点番号一覧表」ブックA列の測定点番号データ1行めの「S026014」を元に、
「緯度-経度 記録表」ブックで検索すると
「緯度-経度 記録表」の2行目がヒットします。

次は、
2行目の「管理番号」を「緯度-経度 記録表」ブック内で「すべて検索」すると、
2行目と4行目がヒットします。

2行目と4行目のB列「測定年月日」の日付が新しい方の
C列「測定緯度」D列「測定経度」をコピーし
日付が古い方のC列、D列へ貼り付けるというのが一連の流れです。


この作業を数千件繰り返すということで、
基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

「緯度-経度 記録表」というブックがあります。
A列に測定点番号、B列に測定年月日、
C列に測定緯度、D列に測定経度、
E列に管理番号、F列に識別 です。

  A列       B列     C列     D列      E列      F列
 測定点番号   測定年月日  測定緯度   測定経度   管理番号    識別
1 S0112014   20140820  37.3745   140.981   SYS_3645  工事後
2 S0262014   20140926  37.3775   140.988   026_4565  工事前
3 S01220...続きを読む

Aベストアンサー

こんにちは

Excel-VBAでは「呪文のようなコード」ではなく、
「検索ー置換」を手作業でなくVBAで行う“だけ”の作業になってしまいます。
…変換テーブルを作っておいて変換する
…変換テーブルを自動で作ろうとすると、そのためのVBAを組まなければならない
と言う状況だと思います。

Qエクセルファイルにあるシートのリンクだけを切りたい

タイトルの通りです。
いつのまにか共有フォルダにあるエクセルファイルと
リンクが結ばれていました。
共有フォルダにあったファイルは必要なくなったので、
削除しましたが、デスクトップにあるエクセルファイルの
シートにかかっているリンクは生きています。

このリンクを切りたいのですが、ワークシート化しており、またたくさんのタブを作っていますので、何か
一度ですべてのシートのリンクを切れる方法があれば
教えてください。

以上、よろしくお願いいたします。

Aベストアンサー

OFFICEのバージョンはXPか2003でしょうか?
それなら「編集」「リンクの設定」でリンク元のファイルを選択して「リンクの解除」を押してください。

Q複数のブックのデータを一つのブックにまとめたい

http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_page1.htm

↑の 7. 指定したフォルダ内にあるExcelファイルを検索して開く の部分のマクロを利用して、集計.xlsというブックで、複数のブックを開くようにしましたが、そのブックを開いた時にそのブックのSheet2の中のデータのみコピーして、集計.xlsに貼り付けたいのですが、どのようにすればよいのか困っています。

指定したフォルダの中には、回答01.xls 回答02.xls ・・・と16個のブックがあります。順番に開いてコピーをするときに、どのようにブック名とシート名を指定すればよいのかわからず困っています。

何か参考になるものがあれば教えてください。
よろしくお願いします。

Aベストアンサー

元のサンプルを修正して、開いたブックの"Sheet2" A1 の値を、マクロのあるブックの一番左のシートのA列に順番に転記しています。
この場で書いたのでテストしておらず、上手く動くか解りません。
試すならテスト環境でどうぞ。

Sub BookOpen_7()
Dim i As Long, wb as Workbook '←修正
    ・
    ・
' ↓下記2行は不要なら ' でコメントアウト
' Rec = MsgBox(FName & "を開きますか", vbYesNo)
' If Rec = vbYes Then
   ' ↓修正
   Set Wb = Workbooks.Open FName
   ' ↓追加
   ThisWorkbook.Worksheets(1).Rnage("A65536").End(xlup).Offset(1,0).value = _
       Wb.Worksheets("Sheet2").Rnage("A1").value
   Wb.Close
' ↓不要なら ' でコメントアウト
' End if
   ・
   ・

元のサンプルを修正して、開いたブックの"Sheet2" A1 の値を、マクロのあるブックの一番左のシートのA列に順番に転記しています。
この場で書いたのでテストしておらず、上手く動くか解りません。
試すならテスト環境でどうぞ。

Sub BookOpen_7()
Dim i As Long, wb as Workbook '←修正
    ・
    ・
' ↓下記2行は不要なら ' でコメントアウト
' Rec = MsgBox(FName & "を開きますか", vbYesNo)
' If Rec = vbYes Then
   ' ↓修正
   Set Wb = Workbooks.Open FName
   ' ↓追加
...続きを読む


人気Q&Aランキング