• 締切済み

エクセルのBOOK間のリンク

エクセルでBOOK1とBOOK2があります。 BOOK1のデータが更新されるたびにBOOK2にそれが反映されるようにしたいのですが、そういうことはできるでしょうか。 また、BOOK2には、BOOK1のセルに数値が入力されているものだけを反映させたいのです。 例えば、BOOK1のセルA1~A5で、数値がセルA3とA4にだけ入力されたとします。そうしたら、BOOK2の表のセルC5、C6にそれと同じ数値が反映されるようにしたいのです。 よろしくお願いします。

noname#24492
noname#24492

みんなの回答

回答No.4

先ほどの式より次の方が簡単ですので、入れてみてください。ORを使います。 =IF(OR([Book1]Sheet1!$A$1="",TYPE([Book1]Sheet1!$A$1)>1),"",[Book1]Sheet1!$A$1)

回答No.3

数値だけ検出したいのであれば、IF文を多重にして、次のように、TYPE関数をいれてみたらいけますよ。 =IF([Book1.xls]Sheet1!$A$1="","",IF(TYPE([Book1.xls]Sheet1!$A$1)<>1,"",[Book1.xls]Sheet1!$A$1))

noname#24492
質問者

補足

お返事が遅くなって申し訳ありません。 TYPE関数を上記のとおり入れてみましたが、IF関数のみでやった場合との違いがよくわかりません・・(汗 BOOK1でセルA2に数値が入力されている場合、BOOK2ではセルA1が空欄になってセルA2にBOOK1のセルA2の値が入力されてしまいます。BOOK2のセルA1にBOOK1のセルA2の値がつめて入力されるようにしたいのですが。。 質問の仕方が本当にわかりづらくて申し訳ありません。 空欄になったBOOK2の行を後で削除すればいいだけのはなしだとは思うのですが。。。

  • Sombart
  • ベストアンサー率16% (45/267)
回答No.2

2つあるので、それぞれ書きます。 ● ブック間のリンク  #1 の方の仰るとおりの注意点がありますが、セルの参照でファイルを指定することができます。  Book2 の C1 に、#1 の通り設定すると、下のような式が入ります。ここで、Book1 は C ドライブ直下にあり、対象セルのシートは Sheet1 だという前提です。 =[C\Book1.xls]Sheet1!A1 ● 値が入ったものだけ表示  これは、if 文を使います。 =if([C\Book1.xls]Sheet1!A1="","",[C\Book1.xls]Sheet1!A1)  if 文のヘルプを見れば判りますが、1つめのパラメータは条件をあらわします。2つ目は、1つ目が正しいときに表示する値の指定であり、3つ目は1つ目が正しくない時に表示する値の指定です。  これをしないと、空欄にはならずに 0 が表示されてしまいます。

noname#24492
質問者

補足

回答ありがとうございます。大変わかりやすいです。 そこで、値が入ったものだけ表示させたいことについて加えて質問なのですが、IF文をつかった場合、BOOK1が空欄だった場合、BOOK2でも空欄になりますが、ただBOOK1で数値が入った場合のみ、その値だけ抽出して反映させたいのです。 例えばBOOK1のセルA2とセルA5に数値が入った場合、そこだけ抽出してBOOK2のセルA1とA2にBOOK1のセルA2とセルA5の数値が反映されるようにしたいのです。 わかりにくくて申し訳ありませんが、教えてください。よろしくお願いします。

  • char2nd
  • ベストアンサー率34% (2685/7757)
回答No.1

 できます。  たとえば、BOOK1のA3のセルに入力されたデータをBOOK2のC5のセルに反映させたい場合、BOOK1のA3のセルで「=」を入力し、そのままBOOK2のC5のセルでカーソルをクリックさせれば、それでリンクを貼ることができます。普通にセルとセルのデータをリンクさせるときと同じやり方です。  この方法は、計算式の中や関数のパラメータなどにもつかえます。  ただし、参照先のBOOKを他のフォルダなどに移し替えたり、参照元のBOOKをCDなどに焼いたりするとリンクが切れることがありますから、注意が必要です。

noname#24492
質問者

お礼

早速の回答ありがとうございました。 やってみたらできたので感激でした。 ありがとうございました。

関連するQ&A

  • エクセル2007のリンクの自動更新について質問です。(1)BOOK1に

    エクセル2007のリンクの自動更新について質問です。(1)BOOK1にデータを入力して、(2)BOOK2で先ほどの(1)のデータをカウントするという想定です。BOOK1のデータを後日変更し、保存→閉じるをします。そしてBOOK2を開きます。そうすると画面上段に「リンクの自動更新が無効にされました」と表示され、「オプション→このコンテンツを有効にする」にします。ところが、本来カウントされるべきセルが「#VALUE」となってしまいます。BOOK1とBOOK2を同時に開けば解消しますが、BOOK1を開かずとも、自動で更新されないのでしょうか。

  • OpenOfficeOrgのCalcで、他ブックとリンクするとエラーが出ます

    OpenOfficeを使っています。Excelと似てるやつ(Calc)を使って、一つのブックに他ブックからの数値を参照した式をリンクで張りたいのですが、それができません。 ・Aブック ・Bブック ・Cブック とあり、たとえば Aブックのsheet1 A1セルに 「Aブックのsheet1 A2セル数値+Bブックのsheet1 A2セル数値+Cブックのsheet1 A2セル数値」 3ブックのA2セル入力値の合計を表示させたい リンク自体は張ることが出来、一度はきちんと計算結果も正常に表示されます。が、それを保存し次回以降開こうとすると、 「このデータには他のデータへのリンクがあります。データを更新しますか」 とメッセージが出てきて、それに「はい」と答えると処理が開始、そのまま待機状態になって操作不能、そして 「Runtime Error」 なにやら英文表示で、どうもOpenOfficeOrgに連絡しろって言っている、…らしい。メッセージが出ます。そしてそのままアプリケーションが閉じてしまいます。 再度開こうとすると「ファイルを復元しています」と言われ、心臓に悪い…や、開けるし使えますが。 ABC3ブック全て開き、「編集」→「リンク(リンクの編集)」で「更新」としても同様。 何回やっても同じ。 「データを更新しますか」 に「いいえ」と答えるとこの状態は起きませんが、それだとデータを訂正していっても計算式に反映されず、合計値がものすごくおかしくなってしまいます。 OpenOfficeOrgのCalcでは、他ブックの数値を参照した式 というのは事実上使用不能なのでしょうか? あっ、ちなみに使っているのはWinXPの…えーと、HOMEエディションSP3、だと思います。 ReadMeによればOpenOfficeOrgは3.1。

  • excelで任意のブックの特定範囲の値を返す

    会社で使っているソフト(Xソフトとします)から、デスクトップに出力されるexcelファイルがあります。 そのファイルに出来上がっている全てのシートの同じセル範囲から、 ひとつのexcelファイルに値を抜き出したいと考えています。 いきなり範囲で抜き出すのは難しいかと思い、とりあえずひとつのセルの値を抜き出せないかと試行錯誤しています。 book1のA1セルに、book2****のD1セルの値を入力したい場合 book1のA1セルに以下のように入力していますが#REF!と表示されてしまいます。 =indirect("'["&B1&".xls]"&C1&_1&"!D1") Xソフトから作成されるexcelファイルの名称が、作成した日時を反映するようになっているため、book2****の****部分には日時が入ると思ってください。つまり、book2の名称は Xソフトからデスクトップに保存する度に変化してしまいます。 また、book2****に作成されるシートはXソフトから取り出したいデータ量によって変わり、 その名称はbook2****の各シートのC1セルの文字列に_1、_2、、、、と連番になる仕組みになっています。 そのため、book1のB1セルにbook2のファイル名称を入力し、 シート名はbook2****のC1セルの文字列と_1(、_2、、、)を組み合わせることで D1セルの値を返したいと思っています。 マクロやvbaの経験はあまりないため、関数でがんばっているのですがうまくいきません。 本当は、Xソフトから作成されたファイルをクリックするだけで読み込めるような仕組みが作れるのが理想なのですが、なかなかできず困っています。 どなたか詳しい方おりましたら教えてください。よろしくお願いします。

  • マクロで他ブックを開きデータを取得する方法について

    BOOK1は集計表でシートは1枚です。BOOK2はデータ入力シートで50位のシートが含まれています。 BOOK1からマクロでBOOK2を開き、各シートにあるデータをBOOK1(集計表)の所定のセルへ表示させようと考えています。例えば「BOOK2のSheet2のセルC6のデータをBOOK1のセルF8へ、Sheet3のセルC6のデータをBOOK1のセルF12へというように順次50枚のシートに入力した各データをBOOK1の集計表に表示させる予定です。どのようなマクロ構文にしたら良いのでしょうか? ご教授よろしくお願いします。

  • エクセルで複数のブックの1つのセルを複数でコントロールする方法

    エクセルで複数のブックの1つのセルを複数でコントロールする方法 こんなことは可能でしょうか? たとえば、 Book.A、Book.B,Book.Cの3つのBookがあります。 それぞれの"A1"セルは、可変数値でBook.A、Book.B,Book.Cのそれぞれから変えることができる。 一般的には、「Book.Aを変えるとBook.B,Book.Cがリンクしている」というものなのですが、 Book.BからでもBook.Cからでも変えることができる方法を知りたいのです。 共有ブックという方法以外でお願いします。

  • エクセル ブック間で同一データのチェックしたいのですが・・

    請求書のフォームのようなものを作成しています。 book1にはA列:IDNO. B列:商品名 C列:金額・・・などとデータが保存されています。件数が2000ちかくあります。 book2で、請求明細のようなものを作りたく、Vlookupを使い、IDNO.を打ち込むとbook1にある、データが反映されるようになりました。 そこで、教えていただきたいのですが。・・ book2でIDNO.を入力したときに 同一の book1データ内にあるIDNO.の となりの(B列:商品名)セルに、色をつけることは出来ますでしょうか?   質問がわかりづらくてごめんなさい。ぜひ教えてください。m(__)m

  • エクセル ブックの参照について

    ブックの参照について質問です。 a、b、cというエクセルファイルがあったとし、 それぞれA1のセルには1、2、3と値が入力されています。 新規にbook1を作成し、A1のセルにファイル名"a"又は"b"又は"c"を入力すると、A2へ"1"又は"2"又は"3"が表示される、というように参照することは可能なのでしょうか。 皆様のお力をお貸しください。 宜しくお願い致します。

  • エクセル

    Book1 A1セルにBook2 A1,B1,C1(同一シート)いずれかに文字あるいは数値が入力された場合 Book1 A1にリンクするようにしたいのですが =[Book2.xls]Sheet1!A1&[Book2.xls]Sheet1!B1&[Book2.xls]Sheet1!C1 とすると今後D,E・・・・と続くとすごく長い式になってしまいます。 これをもっと簡単な式に出来ないものでしょうか。(エクセル2003使用) ヨロシクお願いします。

  • エクセルのbookを開いたときに

    作成したエクセルのBookを開いたときに指定のシートを選択している状態にしたい。 エクセルで作成したBook「基本.xls」にa,b,cというシート3つがあります。 このブックを開いたときに必ずaというシートのセルa1が選択された状態にするにはどうしたら良いのでしょうか?

  • エクセルでのデータリンクについて

    エクセル2007でのデータリンクの方法についてですが 例えばbook1で、   A  B   1    個数 2 1月  3  3 2月  7 4 3月  10 の表があったとしてこれをbook2でリンクを貼る場合、 book2の貼りたいセルのところで=を押してbook1のB2セルをクリックすると3が貼れますが、 下に連続して7、10と入れたい場合3のセルを右クリックしてドラッグしても全部3になってしまいます。 どうしたらいいのでしょうか。 以前は出来ていたと思ったのですが出来なくなってしまいました。 よろしくお願いします。

専門家に質問してみよう