- ベストアンサー
エクセル比較し、データを入力
現在、ファイルが二つあり、それを比較し、 AのファイルのA列にあるデータとBのファイルのA列にあるデータが同じなら、 AのファイルのA列のデータを表示されるようにしたいと思い、下記のような式を作成しました。 =VLOOKUP(A1,BファイルSheet1'!A$1:A$8,1,0) そうすると、データがない場合は、#n/aと表示されてしまいます。 みなさんの質問を探して、iserrorや、isblankなどを試したのですが、 根本を理解していないせいか、うまくいきません。 そのまま、#N/Aでもいいのですが、空白("")にできないかなぁと思い、 投稿させてただきました。 ご教授ください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
式自体に誤りがありますね。次のような式にしてはどうでしょう。 =IF(COUNTIF([Bファイル.xls]Sheet1!A$1:A$8,A1)=0,"",A1) この式はAファイルで使われている式ですね。 Bファイルのシート1にA1セルのデータが無ければ空白に、有る場合にはA1の値を表示することになります。
その他の回答 (5)
- KURUMITO
- ベストアンサー率42% (1835/4283)
Bファイルにデータが名にもかかわらずCOUNTIFの結果が1となるということはBファイルへの参照が正しく行われていないからでしょう。 回答No5をぜひ確認してBファイルの参照の式を直すことが必要でしょう。
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No2,4です。 別ファイルの参照の式に問題があるように思いますね。 一度、Aファイルのセルに = を入力した後でBアイルの参照するセル範囲を選択してみてください。 =[Bファイル.xls]Sheet1!A1:A8 のように表示されますか? 表示される通りの形で(A$1:A$8にする)元の式を直すことが必要でしょう。
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No2です。 =IF(COUNTIF([Bファイル.xls]Sheet1!A$1:A$8,A1)=0,"",A1) AファイルのA1セルの値をBファイルのシート1のA1セルからA8セルの間に有るかないかを調べて無ければ空白のセルに、有ればA1のセルのデータを表示させるという式です。 Bファイルに無くてもA1セルのデータが表示されるというのは変ですね。 別のセルに=COUNTIF([Bファイル.xls]Sheet1!A$1:A$8,A1)の式を入力してBファイルにA1データがある場合と無い場合で試験してみてください。 A1データが無ければ答えは0となりますし有れば1になるでしょう。 なお、AファイルとBファイルのデータの順序は全く関係ありません。 AファイルとかBファイルとか述べていますが本当にBファイルのシート1を参照しているのか疑問ですね。 一度、別のセルに=[Bファイル.xls]Sheet1!A1と入力してみてください。BファイルのA1セルのデータが確かに表示されますか?
お礼
ありがとうございます。 countifの式を入力してみたら、1と表示されました。また、=でその式を参照したら、表示は無事できました。 式が違うということは、何かデータが違うのでしょうか?ちょっと他のデータで試してみることにします。
- kagakusuki
- ベストアンサー率51% (2610/5101)
元データに同じデータが存在しない場合には、何も表示させないのでしたら =IF(ISNA(VLOOKUP(A1,BファイルSheet1'!A$1:A$8,1,FALSE)),"",=VLOOKUP(A1,BファイルSheet1'!A$1:A$8,1,FALSE)) で良いと思います。 ISNA関数は、( )内が#NAの場合に、TRUE(真の場合)となる関数ですから、VLOOKUP関数で、検索値に一致するデータが無い場合のみに、表示をさせない様に出来ます。(他の原因によるエラーと区別する事が出来ます)
- ziggo
- ベストアンサー率36% (12/33)
後はIf文を理解するだけです。 =if(iserror(VLOOKUP(A1,BファイルSheet1'!A$1:A$8,1,0)),"",VLOOKUP(A1,BファイルSheet1'!A$1:A$8,1,0)) ではいかがでしょうか? vlookupの結果がエラーだったら、””で空欄。 エラーでなかったら、検索した値を表示。 って感じです。
補足
早速のご回答、ありがとうございます。 上記数式をコピーし、Bファイル範囲をこちらのデータの状態に戻してしてみましたが、Bファイルにない場合でも、Aファイルのデータが表示されてしまいます。 BファイルのA列データは、AファイルのA列データと記載している順番が違います。これは関係ないですよね? AファイルもBファイルも同じように並んでいないとだめなんでしょうか?
補足
早速のご回答、ありがとうございます。 やってみたのですが、それをコピーして使うと、 Aファイルにあって、Bファイルにないものでも、Aファイルのデータが表示されてしまいます。 何がおかしいのでしょうか・・・・