Excelには2つの列があり、それらを比較してそれらの違いを見つけます。
と仮定します。
列Aを強調表示します。クリック条件付き書式>新規ルールの作成>この式を使用して、フォーマットするセルを決定します> ffを入力します。式:
=countif($B:$B, $A1)
フォーマットボタンをクリックして、フォントの色を好きな色に変更します。
この式を使用して別のフォントの色を試すことを除いて、columnBについても同じことを繰り返します。
=countif($A:$A, $B1)
列Cにffを入力します。最初のセルに数式を作成し、次にコピーします。
=if(countif($B:$B, $A1)<>0, "-", "Not in B")
列Dにffを入力します。最初のセルに数式を作成し、次にコピーします。
=if(countif($A:$A, $B1)<>0, "-", "Not in A")
どちらももう片方の列にない項目を視覚化するのに役立ちます。
マイクロソフトは2つのコラムで重複を見つける方法を詳述した記事 を持っています 。各列で固有の項目を見つけるのに十分簡単に変更できます。
たとえば、Col CにCol Aに固有のエントリを表示させ、Col DにCol Bに固有のエントリを表示させる場合は、次のようにします。
A B C D
1 3 =IF(ISERROR(MATCH(A1,$B$1:$B$5,0)),A1,"") =IF(ISERROR(MATCH(B1,$A$1:$A$5,0)),B1,"")
2 5 (fill down) (fill down)
3 8 .. ..
4 2 .. ..
5 0 .. ..
私があなたの質問をよく理解しているならば:
=if(Ax = Bx; True_directive ; False_directive)
True/falseディレクティブを関数、または "Equal"や "different"のような文字列に置き換えます。
Colでそれらを見つけたいとしましょう。 B列が一致しない。 A. C2に入れる:
=COUNTIF($A$2:$A$26;B2)
一致すれば1(以上)、そうでなければ0になります。
また、両方の列を個別にソートしてから、両方を選択して特殊ジャンプに移動し、行の差異を選択することもできます。しかし、それは最初の新しい項目の後で動作するのをやめるでしょう、そしてあなたはセルを挿入しなければならないでしょう、そして再び始めなければなりません。
それはあなたの細胞のフォーマットとあなたの機能的な要求に依存します。先頭に "0"を付けると、テキストとしてフォーマットできます。
次に、IF関数を使ってExcelのセルを比較できます。
=IF ( logical_test, value_if_true, value_if_false )
例:
=IF ( A1<>A2, "not equal", "equal" )
それらが数値としてフォーマットされている場合、違いを得るために他のものから最初の列を引くことができます:
=A1-A2
この式は2つのセルを直接比較します。それらが同じであれば、それはTrue
を表示します。違いが1つあれば、それはFalse
を表示します。この式は違いが何であるかを出力しません。
=IF(A1=B1,"True","False")
私は Excel 2010 を使用していて、比較している2組の値を含む2つの列を強調表示してから、[条件付き書式]ドロップダウンをクリックします。 Excelのホームページで、[セルの強調表示]ルールを選択し、次に違いを選択します。それはそれから相違点または類似点のどちらかを強調表示するように促し、あなたが使用したい色強調表示を尋ねます...
比較は、Excel VBAコードで実行できます。比較プロセスは、Excel VBAのWorksheet.Countif
関数を使用して実行できます。
このテンプレートでは、異なるワークシート上の2つの列が比較されました。行全体が2番目のワークシートにコピーされたため、結果が異なりました。
コード:
Dim stk, msb As Worksheet
Set stk = Sheets("Page1")
Set msb = Sheets("Page2")
Application.ScreenUpdating = False
sat = (msb.Range("A" & Rows.Count).End(xlUp).Row) + 1
For i = 2 To stk.Range("A" & Rows.Count).End(xlUp).Row
If WorksheetFunction.CountIf(msb.Range("A2:A" & msb.Range("A" & Rows.Count).End(xlUp).Row), stk.Cells(i, "A")) = 0 Then
msb.Range("a" & sat).EntireRow.Value = stk.Range("a" & i).EntireRow.Value
msb.Range("a" & sat).Interior.ColorIndex = 22
sat = sat + 1
End If
Next
...
チュートリアルのビデオ: https://www.youtube.com/watch?v=Vt4_hEPsKt8
NOT MATCH関数の組み合わせはうまく機能します。以下も動作します。
=IF(ISERROR(VLOOKUP(<<大きいリストの項目>>、<<smaler list>>、1、FALSE))、<<大きいリストの項目>>、 "")
覚えておいてください:小さい方のリストは昇順でソートしなければなりません - vlookupの必要条件
これは別のツールを使用していますが、私はこれが非常に簡単であることがわかりました。 Notepad ++を使う:
Excelでは、2つの列が同じ順序でソートされていることを確認してから、2つの新しいテキストファイルに列をコピーして貼り付けてから(プラグインメニューから)比較を実行します。