- 締切済み
エクセルのデータ照合
- みんなの回答 (6)
- 専門家の回答
みんなの回答
私は、エクセル自体はほとんど使ったことが無いので、もっといい方法があるかもしれないのですが、 簡易的なVBマクロを作ってみました。エクセルに詳しい人なら、もっと簡単な方法が使えるかもしれません。 プログラム中のコメントにある条件で、シートを作成し、コマンドボタンを配置してその中に下記のプログラムをコピーして使ってください。 ・全角半角の違いは、見逃す。 ・途中にスペースが入っている/いないは見逃す。 とした条件で、複数の項目の文字列を比較し、結果を返します。 Private Sub cmdCompare_Click() Dim intRow As Integer '行カウンタ Dim intCol As Integer '列カウンタ Dim strWatashi As String '文字列取得 Dim strImoto As String '文字列取得 Dim intWatashiColL As Integer '私が入力した列の左端 Dim intWatashiColR As Integer '私が入力した列の右端 Dim intImotoColL As Integer '妹が入力した列の左端 Dim intImotoColR As Integer '妹が入力した列の右端 Dim intOutput As Integer '結果を出力する列 intWatashiColL = 1 intWatashiColR = 3 'とりあえずA~C列に「私」の入力したデータが入っているとします intImotoColL = 4 intImotoColR = 6 'とりあえずD~F列に「妹」の入力したデータ入っているとします intOutput = 7 'G列に結果を出力 ' intRow = 1 Do strWatashi = "" strImoto = "" For intCol = intWatashiColL To intWatashiColR strWatashi = strWatashi & RemoveSpace(Cells(intRow, intCol)) Next For intCol = intImotoColL To intImotoColR strImoto = strImoto & RemoveSpace(Cells(intRow, intCol)) Next If strWatashi = "" Then Exit Do Cells(intRow, intOutput) = IIf(strWatashi = strImoto, "一致", "不一致") intRow = intRow + 1 Loop End Sub 'スペース除去 Private Function RemoveSpace(strPmtr As String) As String Dim i As Integer Dim strResult As String Dim strChar As String For i = 1 To Len(strPmtr) strChar = StrConv(Mid(strPmtr, i, 1), vbNarrow) strResult = strResult & IIf(Trim(strChar) = "", "", strChar) Next i RemoveSpace = strResult End Function 見にくいですが、ここに投稿すると字下げができないようです。
- imogasi
- ベストアンサー率27% (4737/17068)
同一かどうかを考えるとき、品物の場合はどう考えますか 。2日前に振った番号を書きとめ、今、目前にある物の番号が書きとめた番号と同じなら、同じと知る。ホテルのクロークのように。 ビジネスでは、このように抽象的な番号を1つ設定して、住所録原資料に振り、それも含めて入力し、その番号を基に、同一か(ミスタイプが無いか)調べます。しかし番号のミスタイプもあり得るので、事は複雑になります。それはさておきます。今回はもう既に入力し終わっているとすると、番号が無いでしょうから、氏名や電話番号を番号代わりにして、考えざるを得ません。しかし氏名も電話番号も同姓同名や同一家族の電話番号のような問題があります。それを覚悟で比較する方法がよい方法が有りますが、プログラム(VBAなど)を組めないと出来ません。 それではと言うことで、Sheet4とSheet5に入力したとして、 タイプ洩れについてSheet4に =IF(ISERROR(VLOOKUP(A1,Sheet5!$A$1:$A$10,1,FALSE)),"なし","") Sheet5に =IF(ISERROR(VLOOKUP(A1,Sheet5!$A$1:$A$10,1,FALSE)),"なし","") で「なし」と2シートに出たものを訂正してください。 これでSheet4とSheet5の氏名が同数になります。正確にはダブりは、両シートに =IF(COUNTIF($A$1:A1,A1)>1,"ダブリ","")でチェックします。 ここで同一氏名の各項目が同一かどうかチェックします。 Sheet4に=IF(B1=VLOOKUP(A1,Sheet5!$A$1:$B$10,2,FALSE),"","相違")と入れて下へ複写します。 B列をしましたが、c、d、e列も同じような式をいれ 第3引き数を、3、4、5・・に増やすようにします。 これで氏名を元にした項目(列)内容が同じかチェックできます。しかしチェック結果式を入れる列が、列数だけ必要です。 私なら、式が一杯になるのがいやで、VBAで処理しますが。
データ不揃いの場合 新シートの同列に2人分のデータをコピーします 全体を選択して「ツール?」-「並び替え」で並び替えます (住所、名前順がいいかな) 空列(Fとすると)に =if(and(B2=B1,A2=A1),"重複","OK") Bは住所 1行目を選択して 「データ」-「オートフィルタ」でF列▼でOKを選択 「編集」-「ジャンプ」で可視セルを選択。 deleteキーを押下して、「データ」-「オートフィルタ」を取る。 全体を選択して「ツール?」-「並び替え」で並び替えます (住所、名前順がいいかな) これでどうでしょうか
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
全く同じだったら どっちかの列の隣にそれぞれのセルを連結して同じかどうか調べればいいです。 =IF(姉_名前&姉_住所&姉_郵便番号&姉_電話=妹_名前&妹_住所&妹_郵便番号&妹_電話,"","違う")
新しいシートに2人で入力した住所をたとえば、A列とB列に隣り合わせにコピーして貼り付け、先頭のその横に =IF(A1=B1,"一致","不一致") を入力し、全てのレコードにコピーします。 そうしたら、一致していないレコードには不一致が表示されるので分かりやすいのではないかと思います。 ただ、住所の入れ方には個人差があるので(スペースが含まれていたり)、住所としての内容は同じでも、不一致になるかもしれません。 VBAマクロを使えば、プログラムでもっと柔軟な対応ができるのですが・・・・。
関連するQ&A
- エクセルとデータの照合について
エクセルとデータの照合について シート1に以下のような表を作成しました(上段) また、シート2にも以下のような表を作成しています(下段) 見にくいですが、要は同じデータが入っているのですが、入っているセルが 違うので、どんな関数や条件付き書式(色つき)を使って照合すればいいのかが わかりませんでした。 両者を見比べて照合をしたいのです。おもに上段の数字があっています。 初心者で申し訳ありませんが、教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセルデータの照合について
2つのお客様データ(エクセル)があり、それぞれに入力されている住所に違いがないかチェックをしたいのですが、何か早く照合できる方法はないでしょうか。登録されているお客様は同じなのですが、住所が古いままで更新されていない人がいないかなど調べています。
- 締切済み
- Windows系OS
- EXCELのでのデータ入力について
EXCELで、住所のセルに住所を入力すると自動的に郵便番号のセルにその住所の郵便番号が入力されるように設定されているファイルに住所を打ち込んでいると、「メモリ不足です」と表示されてデータが入力できません。「リストから選択する」で入力すると入ります 。なぜなのかわかりません。教えてください。
- ベストアンサー
- 会計ソフト
- エクセルで表記の違うデータを照合する方法
2つのエクセルを照合する時、表記方法が違っても可能でしょうか? 会社の名前が記載してあるリストです。 例えば、エクセルAには「●●株式会社」 、エクセルBには「●●」という形式で会社名を表記してあるとします。 これを照合する事は可能でしょうか? エクセルBにはその会社の郵便番号がいくつか記載されています。最終的にはAとBで名前が一致してかつ郵便番号があった場合エクセルAに印をつけなければなりません。 この様な事が可能でしょうか?仕事で必要で全然わからず途方にくれています。どなたかエクセルに詳しい方教えてください。
- ベストアンサー
- オフィス系ソフト
- 【至急】エクセルデータ統合について
急ぎの質問です。 顧客にダイレクトメール送付をする予定です。 あるデータベースから顧客の名前と住所をエクセルに抽出し、その後大量のデータを見直して、不要なものやダブりのデータを削除し、整理しました。 ラベル印刷するため、エクセルからワードにデータ以降する段階で、最初の段階で郵便番号を抽出していなかったことに気づきました。 いまから、郵便番号を抽出したデータを再度見直して整理する時間はありません。 郵便番号なし・整理済みのエクセルデータと、郵便番号あり・未整理のエクセルデータを統合し 郵便番号あり、整理済み のデータを作成する方法を教えて下さい。 本日中の仕事です。 急ぎで申し訳ございませんが、お願いします。
- ベストアンサー
- その他MS Office製品
- excel データー照合について
仕事でデーターの照合作業をしています。 内容は2つのデーターベースがあるなかで、 会社名が照合しているかを確認したいと思っております。 数は1000件以上です。 関数のv-lookupで紐けが可能だと思いますが、何故かうまくいきません。 ※2つのデーターベースの会社名は若干異なりそのために出来ないのでしょうか? 教えて下さい!宜しくお願い致します。
- 締切済み
- その他(ビジネス・キャリア)
- 二つのエクセルデータを照合する方法。
2つのエクセルを照合する方法を教えてください。 エクセル1には A列に電話番号が100件入っています。 エクセル2にはA列に電話番号が100件B列に住所が100件 入っています。 電話番号の内容は一緒ですが、エクセル1と2では並び方が違います。 やりたい事はエクセル1に電話番号に対応した住所情報をエクセル2から検索して入力する事です。 この作業を関数を使っていっきにする方法はありませんか? 実際は1000件くらいのデータなのですが、やり方が分からず目視でやっているので気が狂いそうです。 ※昨日似たような質問をしましたが、質問の仕方があいまいだったので出しなおしました。 明日作業がまっているので夜のうちに質問します。 ちなみにエクセル2010です。
- ベストアンサー
- その他MS Office製品
- エクセル2003でシート1からシート2に・・・><助けて下さい
おはようございます。 エクセル2003についてご教授くだされば幸いでございます^^。 例えばエクセルで基のデータの住所・郵便番号・マンション名がシート2に入っているとします。シート1の中でセルにマンション名を正しく入力すれば住所や郵便番号まで自動的にシート1に入力されるような設定はできるのでしょうか。 エクセルに関して詳しい方がいらっしゃいましたらどうかご教授願います^^。 よろしくお願いいたします。
- ベストアンサー
- その他([技術者向] コンピューター)
- エクセルで自動反映させるには・・・助けて><
おはようございます。 エクセル2003についてご教授くだされば幸いでございます^^。 例えばエクセルで基のデータの住所・郵便番号・マンション名がシート2に入っているとします。シート1の中でセルにマンション名を正しく入力すれば住所や郵便番号まで自動的にシート1に入力されるような設定はできるのでしょうか。 エクセルに関して詳しい方がいらっしゃいましたらどうかご教授願います^^。 よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品