- 締切済み
エクセルのBOOK間のリンク
エクセルでBOOK1とBOOK2があります。 BOOK1のデータが更新されるたびにBOOK2にそれが反映されるようにしたいのですが、そういうことはできるでしょうか。 また、BOOK2には、BOOK1のセルに数値が入力されているものだけを反映させたいのです。 例えば、BOOK1のセルA1~A5で、数値がセルA3とA4にだけ入力されたとします。そうしたら、BOOK2の表のセルC5、C6にそれと同じ数値が反映されるようにしたいのです。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- pascal3141
- ベストアンサー率36% (99/269)
先ほどの式より次の方が簡単ですので、入れてみてください。ORを使います。 =IF(OR([Book1]Sheet1!$A$1="",TYPE([Book1]Sheet1!$A$1)>1),"",[Book1]Sheet1!$A$1)
- pascal3141
- ベストアンサー率36% (99/269)
数値だけ検出したいのであれば、IF文を多重にして、次のように、TYPE関数をいれてみたらいけますよ。 =IF([Book1.xls]Sheet1!$A$1="","",IF(TYPE([Book1.xls]Sheet1!$A$1)<>1,"",[Book1.xls]Sheet1!$A$1))
- Sombart
- ベストアンサー率16% (45/267)
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 が表示されてしまいます。
補足
回答ありがとうございます。大変わかりやすいです。 そこで、値が入ったものだけ表示させたいことについて加えて質問なのですが、IF文をつかった場合、BOOK1が空欄だった場合、BOOK2でも空欄になりますが、ただBOOK1で数値が入った場合のみ、その値だけ抽出して反映させたいのです。 例えばBOOK1のセルA2とセルA5に数値が入った場合、そこだけ抽出してBOOK2のセルA1とA2にBOOK1のセルA2とセルA5の数値が反映されるようにしたいのです。 わかりにくくて申し訳ありませんが、教えてください。よろしくお願いします。
- char2nd
- ベストアンサー率34% (2685/7757)
できます。 たとえば、BOOK1のA3のセルに入力されたデータをBOOK2のC5のセルに反映させたい場合、BOOK1のA3のセルで「=」を入力し、そのままBOOK2のC5のセルでカーソルをクリックさせれば、それでリンクを貼ることができます。普通にセルとセルのデータをリンクさせるときと同じやり方です。 この方法は、計算式の中や関数のパラメータなどにもつかえます。 ただし、参照先のBOOKを他のフォルダなどに移し替えたり、参照元のBOOKをCDなどに焼いたりするとリンクが切れることがありますから、注意が必要です。
お礼
早速の回答ありがとうございました。 やってみたらできたので感激でした。 ありがとうございました。
補足
お返事が遅くなって申し訳ありません。 TYPE関数を上記のとおり入れてみましたが、IF関数のみでやった場合との違いがよくわかりません・・(汗 BOOK1でセルA2に数値が入力されている場合、BOOK2ではセルA1が空欄になってセルA2にBOOK1のセルA2の値が入力されてしまいます。BOOK2のセルA1にBOOK1のセルA2の値がつめて入力されるようにしたいのですが。。 質問の仕方が本当にわかりづらくて申し訳ありません。 空欄になったBOOK2の行を後で削除すればいいだけのはなしだとは思うのですが。。。