A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
質問文には、あいまいにならないように場合を分けて、対比して、書けないですか。
>エクセルの、
ブックA(ファイル11という名?)のSheet1の
A列 住所(漢字)
B列 番地(全角か、丁目番地か、具体例を書かないと。本件では不要でも書くものだ)
ブックB(>別ファイルと書かないで、具体名を書くものだ)のSheet1の・・
ーー
>デ-タを比較して
ブックAとブックBで
A列住所が一致 かつ!(AND条件)
B列番地
が一致している場合
>ブックA(ファイル11)のF列に1を表示
ーーー
ブックAのF列の
F1に
=IF(AND(A1=ブックBのA1,B1=ブックBのB1),"1","")
--
問題はブックBのSheet1のセルの表し方だが
[ブックBのブック名]Sheet1!A1
もっと一般的には
http://www.excel-jiten.net/formula/ref_other_boo …
の最後の「直接数式を入力する」を参照
「他ブック参照」でWEB照会すれば、説明は沢山ある。
ーー
他ブック参照はそのブックを開いておくこと。
http://www.efcit.co.jp/cgi-bin2/exqalounge.cgi?p …
No.3
- 回答日時:
思われているここと違っていましたらすみませんが、参考までに次のコードをファイル11のマクロに貼り付けて実行してみてください。
A列に住所と番地が入っている別ファイルのファイル名を聞いてきますのでブック名を入力してください。(Book2ならBook2を入力)
A列に住所と番地が入っている別ファイルは、ファイル11と同じフォルダーに入れて実行してください。(開く必要はありません)
元を壊してはいけないので、Bookをコピーして試してみてください。
ファイル11のメニューバーの「ツール」→「マクロ」→「マクロ」をクリック
↓
マクロのダイアログが表示されたらマクロ名に自由に名前を入力してください。(例:比較)
↓
名前を入力しましたら、「作成」をクリック
↓
Microsoft Visual Basicの画面が開きますのでSub 比較()の下に次のコードをコピーして貼り付けてください。
'<定義>
Dim パス名, ファイル11, 別ファイル名, 別ファイル As String
Dim ファイル11シート名, 別ファイルシート名 As String
Dim ファイル11住所, 別ファイル住所 As String
Dim ファイル11カウント, 別ファイルカウント As Long
Dim ファイル11最大件数, 別ファイル最大件数 As Long
'<ファイルのオープン>
パス名 = ActiveWorkbook.Path & "\"
ファイル11 = ActiveWorkbook.Name
ファイル11シート名 = ActiveSheet.Name
別ファイル名 = InputBox("A列に住所と番地入っている「別ファイルのファイル名」を入力して下さい。")
別ファイル = パス名 & 別ファイル名 & ".xls"
Application.ScreenUpdating = False
Workbooks.Open Filename:=別ファイル
別ファイルシート名 = ActiveSheet.Name
Workbooks(別ファイル名).Sheets(別ファイルシート名).Select
Workbooks(別ファイル名).Sheets(別ファイルシート名).Range("A65536").End(xlUp).Select
別ファイル最大件数 = ActiveCell.Row
Workbooks(ファイル11).Activate
Workbooks(ファイル11).Sheets(ファイル11シート名).Select
Workbooks(ファイル11).Sheets(ファイル11シート名).Range("A65536").End(xlUp).Select
Workbooks(ファイル11).Sheets(ファイル11シート名).Range("F1:F65536").ClearContents 'F列クリア
ファイル11最大件数 = ActiveCell.Row
'<住所の比較>
ファイル11カウント = 1
別ファイルカウント = 1
Do
別ファイルカウント = 1
Do
ファイル11住所 = StrConv(Trim(Workbooks(ファイル11).Sheets(ファイル11シート名).Cells(ファイル11カウント, 1) & _
Workbooks(ファイル11).Sheets(ファイル11シート名).Cells(ファイル11カウント, 2)), vbWide)
別ファイル住所 = StrConv(Trim(Workbooks(別ファイル名).Sheets(別ファイルシート名).Cells(別ファイルカウント, 1)), vbWide)
If ファイル11住所 = 別ファイル住所 Then
Workbooks(ファイル11).Sheets(ファイル11シート名).Cells(ファイル11カウント, 6) = "1" 'F列
End If
別ファイルカウント = 別ファイルカウント + 1
Loop Until 別ファイルカウント > 別ファイル最大件数
ファイル11カウント = ファイル11カウント + 1
Loop Until ファイル11カウント > ファイル11最大件数
'<ファイルのクローズ>
Workbooks(別ファイル名).Activate
Workbooks(別ファイル名).Sheets(別ファイルシート名).Select
ActiveWorkbook.Close False 'ファイルのCLOSE
Application.ScreenUpdating = True
Workbooks(ファイル11).Activate
Workbooks(ファイル11).Sheets(ファイル11シート名).Select
MsgBox "比較が終了しました。 "
'****コピー貼り付けはここまで ****
Microsoft Visual Basicの画面を×で閉じます
↓
Excel画面のメニューバーの「ツール」→「マクロ」→「マクロ」をクリック
↓
先ほど名前を付けたマクロを選択して「実行」をクリック
完全に一致していないとF列には1が入りませんのでご了承ください。(ただし数字の半角、全角は問題ありません)
No.2
- 回答日時:
余計なことかもしれませんが、補足です。
BOOK1に式を入れてBOOK2のデータと比較したい場合、EXACT関数の引数は、
=EXACT(C1,[Book2]Sheet1!$C1)
のような感じです。(C列に=A1&B1として文字列結合している場合)
上の式を入力する場合はフルパスを手入力してもかまいませんが、
=EXACT(C1,
まで入力したら、Book2のSheet1を選択し、C1セルをクリックしてEnterキーを押すと、
=EXACT(C1,[Book2]Sheet1!$C$1)
と入力されるので、あとは$C$1を$C1に直してあげれOKです(そうしたのは絶対参照を相対参照にし、下にコピーする際の準備の為)※C1としても問題ないと思います。
この回答への補足
申し訳ありません、BOOK1とBOOK2のデ-タは同じものではなく行番号は最初から3行があっているだけで、後は順番が違ったり、BOOK飲みのもの・()や<>の記号がついたものもありました。
回答を頂いた式はOKでした。 よろしかったら追加で、ご教授をお願いします。
No.1
- 回答日時:
EXACT関数をつかえばOKかと。
EXACT(文字列1,文字列2)の形で2つの文字列を比較して、同じものならTRUE,違っていればFALSEを返します。
質問内容ですと、どこかの列に作業列をつくって、=A1&B1 ように文字列結合をして、それで比較するのが簡単です。また、TRUEの場合セルに1と表示させるにはIF関数で =IF(G1=TRUE,1,"") などとすればいいと思います(G列にEXACT関数の式が入っている場合の例です)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Excel(エクセル) 配列操作について 5 2023/04/18 07:27
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数学 Tan(θ)-1/Cos(θ)について...
-
スマートな関数を教えて下さい。
-
Excel ウインドウ枠の固定をす...
-
EXACT関数とIF関数の組み合わせ...
-
4つのパターンを表示するEXACT...
-
関数を教えて下さい。
-
Excel:一部のフォントでセルの...
-
エクセルで指定した日付、店舗...
-
エクセルでセルに「氏名を入力...
-
Excel 2019 のピボットテーブル...
-
スプレッドシートの関数VLOOKUP...
-
エクセルで日付の入ったセルの...
-
Excelファイルの「数式」タブ→...
-
excelの不要な行の削除ができな...
-
Excelのif関数で文字が見えなく...
-
各ページの1番上の表示について
-
エクセル関数に詳しい方、教え...
-
INDIRECTを使わず excelで複数...
-
Excel 2019 は、SPILL機能があ...
-
UNIQUE関数が使えないバージョ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報