Excelは2つの列を比較し、見つかったら強調表示します

Translate

列Aに10,000行のExcelファイルがあります。いくつかの値は同じです。

例:

A1 - P7767

A2 - P3443

A3 - P7767

A4 - P8746

A5 - P9435

等...

次に、列Aにある値の一部を持つ100行の別の列があります。

B1 - P7767

B2 - P8746

等...

列Bのいずれかの値に値が含まれている列Aのすべてのセルを強調表示する必要があります

したがって、基本的に列Bは、列Aのどこかに同じ値が見つかるかどうかを確認します。trueの場合、列Bに値が見つからないときにセルを白のままにして、セルを強調表示します。

私はこれをうまく説明したと思います、私はいくつかの研究をしました、そして私はこの結果を得るために条件付きフォーマットを使用する必要があると信じています、しかし私は本当に使用する式に固執していてオンラインで例を見つけることができないようです(多分私は検索していませんこれが正確に何と呼ばれているのかわからないので、正しい用語)

This question and all comments follow the "Attribution Required."

すべての答え

Translate

より簡単なオプションもありますが、VLOOKUPを使用して、値がリストに表示されているかどうかを確認できます(VLOOKUPは、とにかく把握するための強力な式です)。

したがって、A1の場合、次の式を使用して条件付きフォーマットを設定できます。

=NOT(ISNA(VLOOKUP(A1,$B:$B,1,FALSE)))

[形式のコピーと貼り付け]> [形式]を選択して、その条件付き形式を列Aの他のセルにコピーします。

上記の式が行っていること:

  • VLOOKUPは、最初の列の列B($ B:$ B)全体に対してセルA1(最初のパラメーター)の値を検索しています(これは3番目のパラメーターであり、ここでは冗長ですが、通常、VLOOKUPはではなくテーブルを検索しますカラム)。最後のパラメーターFALSEは、最も近い一致だけでなく、完全に一致する必要があることを指定します。
  • 一致するものが見つからない場合、VLOOKUPは#ISNAを返すため、NOT(ISNA(...))は、列Bに一致するすべてのセルに対してtrueを返します。
ソース
Translate

使用する簡単な式は次のとおりです。

=COUNTIF($B:$B,A1)

指定された数式はセルA1用です。特別な形式をコピーして列A全体に貼り付けるだけです。

ソース
Translate

注:誤検知を防ぐために、これらの手順を実行する前に、重複するアイテム(同じ列の重複するエントリなど)を削除することをお勧めします。

  1. 両方の列を選択します
  2. 条件付き書式をクリックします
  3. [セルルールを強調表示]をクリックします
  4. [値の複製]をクリックします(デフォルトはOKである必要があります)
  5. 重複が赤で強調表示されるようになりました。

enter image description here

ソース
Translate

少なくとも私にとっては、それを行う最も簡単な方法は次のとおりです。

条件付きフォーマット->新しいルールの追加->独自の式の設定:

=ISNA(MATCH(A2;$B:$B;0))

ここで、A2は比較される列Aの最初の要素であり、BはAの要素が検索される列です。

数式を設定して形式を選択したら、このルールを列のすべての要素に適用します。

お役に立てれば

ソース
Translate

A1->条件付き書式->セル値はB1->書式:必要なもの

それが役立つことを願っています

ソース
Translate

同じスプレッドシートの列Aと列Hを比較するとします。

これらの2つの列の横にある別の列に移動し、次の数式を貼り付ける必要があります:=(Sheet1!A:A = Sheet1!H:H)これにより、列にFALSEまたはTRUEが表示されます。したがって、この新しい列を使用して、条件付きカラーフォーマット機能を使用して一致しない値に色を付けることができます。

ソース
Translate

AB列を比較して等しいテキストを強調表示しようとしましたが、上記の形式を使用すると、一部のテキストがまったく一致しませんでした。だから私はフォームを使用しました(2つの列を比較してセルの違いを色で強調表示するVBAマクロ)コードと私はそれを私のアプリケーションに適合させ、(クリックするだけで)必要な列を見つけるためにいくつかのことを変更しました。私の場合、各列に大きく異なる数の行を使用します。お役に立てれば:

サブABTextCompare()

Dim Report As Worksheet
Dim i, j, colNum, vMatch As Integer
Dim lastRowA, lastRowB, lastRow, lastColumn As Integer
Dim ColumnUsage As String
Dim colA, colB, colC As String
Dim A, B, C As Variant

Set Report = Excel.ActiveSheet
vMatch = 1

'Select A and B Columns to compare
On Error Resume Next
 Set A = Application.InputBox(Prompt:="Select column to compare", Title:="Column A", Type:=8)
  If A Is Nothing Then Exit Sub
colA = Split(A(1).Address(1, 0), "$")(0)
 Set B = Application.InputBox(Prompt:="Select column being searched", Title:="Column B", Type:=8)
   If A Is Nothing Then Exit Sub
  colB = Split(B(1).Address(1, 0), "$")(0)
 'Select Column to show results
 Set C = Application.InputBox("Select column  to show results", "Results", Type:=8)
    If C Is Nothing Then Exit Sub
  colC = Split(C(1).Address(1, 0), "$")(0)

'Get Last Row
lastRowA = Report.Cells.Find("", Range(colA & 1), xlFormulas, xlByRows, xlPrevious).Row - 1 ' Last row in column A
lastRowB = Report.Cells.Find("", Range(colB & 1), xlFormulas, xlByRows, xlPrevious).Row - 1 ' Last row in column B

 Application.ScreenUpdating = False
'***************************************************
For i = 2 To lastRowA
      For j = 2 To lastRowB
          If Report.Cells(i, A.Column).Value <> "" Then
              If InStr(1, Report.Cells(j, B.Column).Value, Report.Cells(i, A.Column).Value, vbTextCompare) > 0 Then
                  vMatch = vMatch + 1
                  Report.Cells(i, A.Column).Interior.ColorIndex = 35 'Light green background
                  Range(colC & 1).Value = "Items Found"
                  Report.Cells(i, A.Column).Copy Destination:=Range(colC & vMatch)
                  Exit For
              Else
                  'Do Nothing
              End If
          End If
      Next j
  Next i
If vMatch = 1 Then
    MsgBox Prompt:="No Itmes Found", Buttons:=vbInformation
End If
'***************************************************
Application.ScreenUpdating = True

エンドサブ

ソース
Translate

あまり多くの仕事をしたくないのですが..Ctrを押して列1を選択し、Ctrを押して列2を選択するだけです。次に、条件付き書式->セルルールの強調表示-> EquelToをクリックします。

以上です。あなたの完了。 :)

ソース
Leave a Reply
You must be logged in to post a answer.
著者について