![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.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
見にくいですが、ここに投稿すると字下げができないようです。
No.5
- 回答日時:
同一かどうかを考えるとき、品物の場合はどう考えますか
。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で処理しますが。
No.4
- 回答日時:
データ不揃いの場合
新シートの同列に2人分のデータをコピーします
全体を選択して「ツール?」-「並び替え」で並び替えます
(住所、名前順がいいかな)
空列(Fとすると)に
=if(and(B2=B1,A2=A1),"重複","OK")
Bは住所
1行目を選択して
「データ」-「オートフィルタ」でF列▼でOKを選択
「編集」-「ジャンプ」で可視セルを選択。
deleteキーを押下して、「データ」-「オートフィルタ」を取る。
全体を選択して「ツール?」-「並び替え」で並び替えます
(住所、名前順がいいかな)
これでどうでしょうか
No.2
- 回答日時:
全く同じだったら
どっちかの列の隣にそれぞれのセルを連結して同じかどうか調べればいいです。
=IF(姉_名前&姉_住所&姉_郵便番号&姉_電話=妹_名前&妹_住所&妹_郵便番号&妹_電話,"","違う")
No.1
- 回答日時:
新しいシートに2人で入力した住所をたとえば、A列とB列に隣り合わせにコピーして貼り付け、先頭のその横に =IF(A1=B1,"一致","不一致") を入力し、全てのレコードにコピーします。
そうしたら、一致していないレコードには不一致が表示されるので分かりやすいのではないかと思います。
ただ、住所の入れ方には個人差があるので(スペースが含まれていたり)、住所としての内容は同じでも、不一致になるかもしれません。
VBAマクロを使えば、プログラムでもっと柔軟な対応ができるのですが・・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの住所から郵便番号を表示するには 2 2022/09/01 16:18
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- 年賀状作成・はがき作成 エクセルで作った住所録をワードの差し込み印刷ではがきに印刷したい 3 2022/09/26 15:47
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Word(ワード) LibreOfficeで数年保存しているデータの変更作業 4 2022/07/08 17:15
- Excel(エクセル) 【エクセル】元データからの引用 5 2022/04/18 10:22
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのクイックアクセスツ...
-
エクセルでCtrl+Tでテーブルの...
-
DATE関数で現在の年齢を出した...
-
Excelで表を作ったところに文字...
-
エクセルのクイックアクセスツ...
-
在庫管理表に使うエクセルの関...
-
ユーザー定義関数をアドイン登...
-
職場の人から聞かれており、こ...
-
REGEXREPLACE関数について、
-
エクセルでバーコード作成し使...
-
下記マクロでMsgBox "空白です...
-
Excel関数-文字列で自動作成さ...
-
エクセルで表
-
【マクロ】for next構文について
-
エクセルの関数について教えて...
-
Excelデータをコピペして、ペー...
-
エクセルで特定の範囲内から小...
-
PDFの請求明細をエクセルにしたい
-
Excelで50個のセルに同じ文字を...
-
エクセルで会社の従業員のデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報