• ベストアンサー

エクセル比較し、データを入力

ziggoの回答

  • ziggo
  • ベストアンサー率36% (12/33)
回答No.1

後はIf文を理解するだけです。 =if(iserror(VLOOKUP(A1,BファイルSheet1'!A$1:A$8,1,0)),"",VLOOKUP(A1,BファイルSheet1'!A$1:A$8,1,0)) ではいかがでしょうか? vlookupの結果がエラーだったら、””で空欄。 エラーでなかったら、検索した値を表示。 って感じです。

y_usa
質問者

補足

早速のご回答、ありがとうございます。 上記数式をコピーし、Bファイル範囲をこちらのデータの状態に戻してしてみましたが、Bファイルにない場合でも、Aファイルのデータが表示されてしまいます。 BファイルのA列データは、AファイルのA列データと記載している順番が違います。これは関係ないですよね? AファイルもBファイルも同じように並んでいないとだめなんでしょうか?

関連するQ&A

  • エクセルのデータ比較

    シート1のA行のデータとB行のデータをすべて比較して、同じデータがあれば C列にそのデータを書き出したいのですが、どうすればよろしいのでしょうか。 行数(比較するデータの数)はそれぞれ数千行あります。 例(a~hはデータです) シート1     A列 B列 a c b d  c f d h の場合、比較した結果をC列に次のように表示させます。 A列 B列  C列 a c c b   d d c f d h どなたかよろしくご教示くださるよう、お願いします。

  • エクセル初心者です。

    エクセルで集計用シートを作成しています。 前もって空白セルに書式を入れた場合、#N/Aと表示されるのですが、これを消す方法はないのでしょうか?書式の入っているセルの上で間違ってDeleteを押すと関数自体も消えてしまいます・・。 文字を白くしてB列とC列にシートの保護をかけたら、入力自体ができなくなってしまいました。    A   B    C 1     #N/A  #N/A 2     #N/A  #N/A 3     #N/A  #N/A となっています。A列には入力することになります。A列に入力したものをVLOOKUP関数でB列とC列にデータが入ってきます。 関数を非表示にする方法と、消えなくする方法とかはないのでしょうか??

  • Excel シート間のデータの照合

    Excelで、シート間のお客様データ(だいたい各1万件)を照合します。下記は現在の照合方法ですが、これでは時間がかかるうえ手作業が多く発生しミスにつながります。頻繁に行う作業なので、関数でも、マクロでも、とにかくもう少し簡単にできる方法がありましたら、どうぞご教授ください。よろしくお願いします!! 【目的】 シート「sheet2008」には2008年度のデータ。シート「sheet2007」には「sheet2008」と同じ形式の2007年度のデータが入っています。シート「sheet2008」に、そのお客様の2007年度の担当営業マンを表示させたいのです。 【例】 列A(電話番号): 011-231-1112 列B(名前):佐藤 一郎 列C(住所):北海道札幌市中央区北1-1-1 列D(担当営業マン):鈴木 新規の列(2007年度の担当営業マン):鈴木  ・「sheet2008」「sheet2007」はほぼ同じデータですが、一部のお客様は名前が変わっていたり、住所が変わっていたりします。  ・「sheet2007」にないお客様が「sheet2008」にあったり、その逆があったりして、各シートのデータ件数は一致しません。  ・名前が同じでも住所が違うデータ、電話番号が同じでも担当営業マンが違うデータは別者として扱います。  ・「顧客ID」のような“必ずユニークな情報”は存在しません。 【現在の照合方法】 (1)「sheet2008」の各列の前に空白列を挿入する。  (データの1行目はタイトル行…B1:電話番号/D1:名前/F:住所/H:担当営業マン)  (データの2行目以降はデータ)     列A(空白行):     列B(空白行): 011-231-1112     列C(空白行):     列D(名前):佐藤 一郎     列E(空白行):     列F(住所):北海道札幌市中央区北1-1-1     列G(空白行):     列H(担当営業マン):鈴木 (2)「sheet2007」を列Aの電話番号で昇順に並べ替える。 (3)「sheet2008」の電話番号が「sheet2007」にあるかを調べる。     A2:「=IF(B2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,1,0)),"○","▲")」 (4)(3)で調べた「sheet2008」の電話番号と同じ行にある名前/住所が「sheet2007」にあるかを調べる。     C2:「=IF(D2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,2,0)),"○","▲")」     E2:「=IF(F2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,3,0)),"○","▲")」 (5)電話番号/名前/住所がすべて一致するデータについて、「sheet2007」にある担当営業マンの値を列Gに表示させる。     G2:「=IF((AND(A2="○",C2="○",E2="○"))=TRUE,(VLOOKUP($B2,Sheet2007!$A:$D,4,0)),"▲") (6)"▲"やエラー値で表示される計算結果について、目視で確認する。 (終了)

  • Excelデータ比較

    エクセルにおいて、sheet2のA列、B列、C列をsheet1のA列、B列、C列と比較して、一致した場合sheet2のD列に書かれている納入先企業名を下記のように自動入力したいのですが、どうやってsheet2のD列に関数を組めばよいのか分からないので教えてください! 【sheet1】 A列 B列 C列 D列 1行 001 AAAA 部品1 A社 2行 002 BBBB 部品2 B社 3行 003 CCCC 部品3 C社 4行 004 DDDD 部品4 D社 5行 005 EEEE 部品5 E社 6行 006 FFFF 部品6 F社 7行 007 GGGG 部品7 G社 【sheet2】 A列 B列 C列 D列←この列に取引先企業が入るようにする 1行 001 AAAA 部品1 A社←sheet1にあるのでA社と入る 2行 008 HHHH 部品8 #N/A←sheet1にないので#N/Aとなる 3行 004 DDDD 部品4 D社 4行 009 IIII 部品9 #N/A 5行 005 EEEE 部品5 E社 6行 002 BBBB 部品2 B社 7行 010 HHHH 部品10 #N/A

  • エクセルで異なるシートのデータを比較したり、コピーしたりしたい

    お世話になっております。 エクセルとはほとんど初対面といった状態で、四苦八苦している状況です。 今やりたいことは、下記のようなことです。 実現方法やアドバイスなど、何でもいいので教えてください。 宜しくお願いします。 シートA,シートBがある。 シートAは今回取込んだデータ。 シートBはこれまで取込んだ累計データ。 2つのシートの項目は同じで、複数列ある。 その中にキーとなる列がある。 (例:項目番号,項目名称,説明,etc 項目番号がキー) (1)まず、シートAのデータを一旦消去し、CSVファイルを読み込む。 (2)次に、シートBの既存のデータとシートAのデータを比較する。  シートAにあってシートBにないデータは追加する。  シートAにあってシートBにもあるデータは上書きする。 (2)の方法が分りません。 シートAにあるデータがシートBにあるのかどうかと言うところはAdvancedFilterと言う関数を使って出来たのですが、追加/上書きと言うところが出来ません。 AdvancedFilter以外にもっと使いやすい関数があるのでしょうか? それとも根本的にもっと違ったやり方があるのでしょうか? ちなみに、別のデータベースを使うとかは不可です。 エクセルでやらないといけない仕様なのです。 宜しくお願いします。

  • VLOOKUPで

    Excel2000を使っています。 Sheet1のB列に=IF(ISBLANK(A1),"",VLOOKUP(A1,Sheet2!A1:C100,2,0)) Sheet1のC列に=IF(ISBLANK(A1),"",VLOOKUP(A1,Sheet2!A1:C100,3,0))を入れてあります。 Sheet2のA列にはコード番号、B列には氏名、C列には住所が入っています。 Sheet1のA列に番号を入力すると、B,C列に氏名、住所が表示される表を作りましたが、Sheet2にデータを追加したら番号を入力しても、追加したメンバーについては、エラー表示(#N/A)が出てしまいます。 コード番号は頭にゼロが付くので、Sheet1のA列は文字列、Sheet2はすべて文字列にしてあります。 最初はうまくいってたのですが、後から追加した分だけがエラーになります。他のリストからデータをコピーし、値のみを貼り付けてだめだったので、手入力してみたのですがやはりだめでした。検索範囲を超えていることは絶対にありません。 どうしてもわからないので、質問させていただきます。 心当たりございましたらよろしくお願いいたします。

  • エクセル関数

    A列に数値を入れれば、B列に別シートからの検索結果(文字)を表示させるようにしています。 B列のセルに↓の式が入っています。 B1:VLOOKUP(A1,Sheet2!$A$1:$B$5,2,1) B2:VLOOKUP(A4,Sheet2!$A$1:$B$5,2,1) BX:VLOOKUP(AX,Sheet2!$A$1:$B$5,2,1) B列の結果が全て同一なら「OK」、不一致なら「NG」をC1セルに表示させたいのですが、A列に数値を入れていないためB列は、常に「#N/A」が表示され「NG」となります。 何か対処方法があればご教授願います。

  • エクセルとセルの比較について

    エクセルとセルの比較について エクセル2007で二枚のシートを以下のように作成しました。 シート1   A 1   ←全くの未入力の空白セルです 2 3 シート2   A 1   ←未入力で空白セルですが、数式(if関数とISERROR関数)が入っています。 2 3 ここでしたい処理は、二枚のシートをIF関数で調べて正誤チェックをして、相違するセルに×を表示したいです。 ただ、A1セルに  if(シート1A1=シート2A1,"","×")  の数式をいれると、両者は違うセルとして認識してしまいます。 同じ空白セルなのにどうしてでしょうか。 また、この二つのセルはともに空白なので、同じものとして処理する方法はあるのでしょうか。 お願いします。

  • excelで2つのシートを比較し、新しいシートへ

    初めまして。 同じような内容で、いくつか調べさせていただいたのですが、その内容を自分の内容に照らし合わせてトライしてみたのですが、うまくいかなかったため、質問させていただきます。 Excel2010 での関数について質問です。 1:シートが2つあります。((1)と(2)とします。)   両方のシートには1000行くらいのデータが両方入っています。列の項目は一緒です。 2:シート(3)に(1)と(2)のB列を比較して、   ・(1)に合って、(2)にない時は(1)のデータ   ・(1)にも(2)にもある場合は(2)のデータ   ・(2)にのみある場合は(2)のデータ   をシート(3)に作ります。 *この際、(1)と(2)の両方にBの数値があった場合には、さらにA列を比較し、A列とB列がシート(1)と(2)で完全に一致した場合には(2)のデータ。Bの数値が一緒でも、A列のデータが違う場合には(1)も(2)もシート3に表示したいです。 イメージとして画像を添付しました。 シート3に関数を入れるだけで上記条件が表示できればいいのですが、出来なければシート1,2にkeyとなる列を挿入して、それを軸としてシート3にするものなのか。 元々の理解が薄いため、購入した本も今回はどの関数を使用すべきか判断が付きませんでした。 同じような質問がある。とお叱りがあるかもしれませんが、いくつか試してみて出来なかったため質問させていただきます。 今回、急ぎで解決が必要なため、初めて登録し投稿させていただきます。 追加で必要な情報等ありましたら、ご指摘いただけますと幸いです。 宜しくお願い致します。

  • エクセル 2つのシートのデータ集計

    あるシステムからエクスポートしたエクセルデータ(同一内のファイルにある)で複数あるシートデータを結合したいのですが、よくわかりません。(VLOOKUP関数でトライしたがエラー表示されてしまいま一つのシートデータAは概要データで、一つのシートデータBは明細データで、共通するデータは伝票番号になります。(例N..) Aシート N1・N2・N3 Bシート N11・N12・N21・N22・N23・N31 結合させたいシート N1N11・N1N12・N2N21・N2N22・N2N23・N3N31 どのような方法で結合させたら良いか教えてください。