OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

エクセルで2つのファイルを参照する方法について

  • 困ってます
  • 質問No.150548
  • 閲覧数43
  • ありがとう数2
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 66% (26/39)

教えて頂ければ非常に助かります、、
ファイル1は、Aセルに1~500ぐらいまでの通し番号が振られているデータ、
ファイル2は、Aセルに飛び飛びの番号(例3、7、15…)のデータが入っている
という状態で、
このファイル2の番号をファイル1の番号の行にデータ追加したい場合、どのようなマクロ若しくは関数を使えば良いのでしょうか。
アクセスがインストールされていないPCなので、エクセルで作成したいと考えています。

どうか宜しくお願いいたします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル10

ベストアンサー率 25% (45/179)

ファイル1のどこか空いてる列(仮にE列)の1行目に
=if(iserror(vlookup(a1,ファイル2!A:D,4,0)),vlookup(a1,ファイル2!A:D,4,0))
と入れて、その結果をファイル1のD列に、
”値の貼り付け”したら如何ですか??

 ヘルプを見ていただければお分かりになりかと思いますが、
要は
・ファイル2にその番号がない場合はそのままdのデータ
・番号があれば、ファイル2のデータ
 となります。
お礼コメント
garfield

お礼率 66% (26/39)

教えていただいた通りの関数を書き入れて無事に作業を終えました。
いくつかの関数を一度に使うことで、複雑なことを簡単にしてしまうのはすごいですね、とても参考になりました。エクセル関数もすばらしい!
実際に振られていた番号は1000まであり(今後も増えるようです)、範囲指定を列全部に書いていただき、分かり易く実行できました。
本当にご回答いただいてありがとうございました。
投稿日時 - 2001-10-15 10:31:09
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル12

ベストアンサー率 44% (315/712)

いまいち状況がよく掴めないのですが。 新しいファイルのA列にファイル1のA列、B列にファイル2のB列を リンクとして持ってくるという前提での話をします。 1)ファイル1のA列全体をコピー(列番号をクリックすると列全体を選択します)し、 新しいファイルのA列に「形式を選択して貼り付け」で「リンク貼り付け」を選択。 2)同じようにしてファイル2のA列全体を新しいファイルのB列にコピー。 これで ...続きを読む
いまいち状況がよく掴めないのですが。
新しいファイルのA列にファイル1のA列、B列にファイル2のB列を
リンクとして持ってくるという前提での話をします。

1)ファイル1のA列全体をコピー(列番号をクリックすると列全体を選択します)し、
新しいファイルのA列に「形式を選択して貼り付け」で「リンク貼り付け」を選択。
2)同じようにしてファイル2のA列全体を新しいファイルのB列にコピー。
これでどうでしょうか?

もし、ファイル1とファイル2のA列の数字を合計したいと言うことであれば、
上記の2)のところでコピー先をデータ入力済のA列とし、
「形式を選択して貼り付け」で演算の「加算」を選択。(この場合、ファイル2のデータははリンクされません)

このような方法でどうでしょうか?
補足コメント
garfield

お礼率 66% (26/39)

説明が不十分ですみません。補足いたします。
ファイル1のA列は1~500番までの番号が通しで(抜けてません)入力されていて、B列とC列にはデータが入力されています。
ファイル2は上記ファイル1のD列に追加させたいデータで、A列には残念ながらファイル1のように1~500までの番号がすべて入力されているわけではなく、追加させたい番号だけが入力されているのです。(追加させたいD列がフィルター表示されているように思ってください。)
投稿日時 - 2001-10-13 14:55:27

  • 回答No.2
レベル11

ベストアンサー率 21% (66/302)

ファイル2のファイル名を「Book2」とし、その「Sheet1」のA1からA8に番号、B1からB8にデータが入っているとします。 そこでファイル1のD1に =IF(ISERROR(VLOOKUP(A1,[Book2]Sheet1!$A$1:$B$8,2,0)),"",VLOOKUP(A1,[Book2]Sheet1!$A$1:$B$8,2,0)) と入力し、あとは最終行までコピー ...続きを読む
ファイル2のファイル名を「Book2」とし、その「Sheet1」のA1からA8に番号、B1からB8にデータが入っているとします。
そこでファイル1のD1に
=IF(ISERROR(VLOOKUP(A1,[Book2]Sheet1!$A$1:$B$8,2,0)),"",VLOOKUP(A1,[Book2]Sheet1!$A$1:$B$8,2,0))
と入力し、あとは最終行までコピーすればOKじゃないでしょうか?
お礼コメント
garfield

お礼率 66% (26/39)

ありがとうございます。
今、お教えいただいた方法で作業してみました。
関数というものは、奥が深く、使いこなすには大変なことと思いました。
ご指導ありがとうございました。とても助かりました。
投稿日時 - 2001-10-15 10:25:03
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ