- 締切済み
エクセルのシートの統合・上書き
初めまして。 エクセル初心者です。何方様か助けてください。 AというファイルとBという二つのエクセルのファイルがあります。 Aには名前・電話番号・メールアドレス等の個人情報が1000件弱程入力されています。 先ほどBをいうファイルを先方より受け取りました。その中にはAに既に入力されているデータのうち、200件程の電話番号の変更等が更新された最新版のデータになっております。 これをAに取り込み、異なっているデータをBを基に更新するという事は可能なのでしょうか? 皆様お忙しいとは思いますが、何方かわかる方がいらっしゃいましたらアドバイス等頂ければと思います。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ookami1969
- ベストアンサー率14% (137/953)
可能か不可能かと言われれば「やれば出来ない事ないでしょう(条件付で)」 という ところでしょうか。 その新しい電話番号は誰の電話番号なのかってのは わかるんですよね? 他に完全に一致させられるデータはありませんか?(顧客コードとか) まぁ名前しかないなら それで考えてみますが まず Aのファイルの データの入っていない列(一番右に)=Vlookup(名前の列,検索範囲,列番号,FALSE) で、一致する所は 電話番号が出て来るでしょうから あとは フィルタをかけて エラーの出ている行を表示しないように折りたたんで 出てきた電話番号(新しい方)を 古い方の列に貼り付ければOKですよね。 どういうふうにデータが表示されてるのかがわかれば もう少しアドバイスしやすいんですけど。
- higekuman
- ベストアンサー率19% (195/979)
いろんなやり方があると思います。 マクロを使えば、かゆいところまで手が届くような処理が出来ますが、このような質問をしているということは、マクロのことはまったく解らないんですよね。 マクロを使わない一例としては、 それぞれのシートの中で、名前がユニーク(同じ名前が複数存在しない)であるという前提で、 ファイルA 名前 住所 番号 田中 東京 03 佐藤 長野 026 鈴木 大阪 06 ファイルB 名前 住所 番号 鈴木 愛知 052 佐藤 福岡 092 高橋 広島 0450 となっているとします。 ファイルBのデータをファイルAの下にコピーします。 (元Aデータ) 名前 住所 番号 田中 東京 03 佐藤 長野 026 鈴木 大阪 06 (元Bデータ) 名前 住所 番号 鈴木 愛知 052 佐藤 福岡 092 高橋 広島 0450 作業列(E列)を設け、それぞれの行に、その行の名前がシート全体(A列全体)にいくつあるのか、という計算式を入力します。 E2に =COUNTIF(A:A,A2) という計算式を入力し、それを全行にコピーします。 (元Aデータ) 名前 住所 番号 田中 東京 03xx 1 佐藤 長野 026x 2 鈴木 大阪 06xx 2 (元Bデータ) 名前 住所 番号 鈴木 愛知 052x 2 佐藤 福岡 092x 2 高橋 広島 0450 1 元Aデータで、1のデータは更新情報がないデータ、2のデータは更新情報があるデータ。 元Bデータで、2のデータは更新情報データ、1のデータは新規追加データ。 次に、元Aデータの右側、G列にA列をコピーします。 (元Aデータ) 名前 住所 番号 田中 東京 03xx 1 田中 佐藤 長野 026x 2 佐藤 鈴木 大阪 06xx 2 鈴木 (元Bデータ) 名前 住所 番号 鈴木 愛知 052x 2 佐藤 福岡 092x 2 高橋 広島 0450 1 E列の数字を見て、1だったら、更新データが無いから元Aデータ、2だったら、更新データがあるから元Bデータを持ってきます。 H1に =IF($E2=1,B2,VLOOKUP($G2,$A$7:$C$8,2,0))、I1に =IF($E2=1,C2,VLOOKUP($G2,$A$7:$C$8,3,0)) と記入し、元A全データにコピーします。 (元Aデータ) 名前 住所 番号 田中 東京 03xx 1 田中 東京 03xx 佐藤 長野 026x 2 佐藤 福岡 092x 鈴木 大阪 06xx 2 鈴木 愛知 052x (元Bデータ) 名前 住所 番号 鈴木 愛知 052x 2 佐藤 福岡 092x 2 高橋 広島 0450 1 最後に、G2:I4の範囲をコピーして、新規シートに、形式を選択して貼り付けで、値を貼り付ければ、「異なっているデータをBを基に更新」できます。 新規追加データがある場合は、ご自分で考えてみてください。
お礼
トピ主でございます。 早速のアドバイスありがとうございます。ちなみに新規追加データはございません。 マクロも少しだけはわかりますが、何ぶん頭の回転が悪く、関数も何をどう組み合わせるべきかわからないものでして・・・。 瞬時に答えを導きだせる方が羨ましい限りです。 現在も実際の入力項目数に併せてご教授頂いた公式の中の数字を変えるのに苦闘しております(苦笑) とにかく、ありがとうございました。感謝いたします。