Connieには、列Bの各セルに会社名が記載されたワークシートがあります。

これらは、列Aの地域見出し(北東、西など)の下にグループ化されています。彼女は、会社名に条件付き書式を適用して、名前が複数の地域に表示される場合に、背景またはテキストを使用して表示されるようにしたいと考えています。マッチング会社を見つけやすくする色。つまり、ある会社が赤でフォーマットされている場合、他の会社は赤で表示されません(青や緑などの別の色で表示される必要があります)。コニーは、これをどのように設定するか、または条件付き書式で実行できるかどうかさえわかりません。

条件付き書式を使用して重複をマークする方法があります。次の一般的な手順に従ってください:

。会社名を含むセルを選択します。

。リボンの[ホーム]タブを表示し、[スタイル]グループの[条件付き書式]ツールをクリックします。

。 [新しいルール]を選択します。 Excelは、[新しい書式設定ルール]ダイアログボックスを表示します。

。ダイアログボックスの上部にある[一意の値または重複する値のみをフォーマットする]オプションをクリックします。

。ダイアログボックスの下半分のドロップダウンリストで[複製]が選択されていることを確認します。 (図1を参照)

。 [フォーマット]ボタンをクリックし、フォーマットを変更して、重複する会社名をどのように表示するかを反映します。

。 [OK]をクリックして、[新しい書式設定ルール]ダイアログボックスを閉じます。

この時点で、すべての複製は、手順6で選択したフォーマットと一致するはずです。唯一の問題は、すべての複製が同じ方法でフォーマットされていることです。つまり、2つの会社(ABCCompanyとDEFCompany)があり、それらの会社に重複がある場合、それらはすべて同じ方法でフォーマットされます。2つの会社で異なるフォーマットが表示されることはありません。

もちろん、Excelのフィルタリング機能を使用して、重複する会社、重複しない会社、または個々の会社名を簡単に特定できます。これは、見つけたい企業に「焦点を合わせる」ための最も簡単な方法かもしれません。

条件付き書式を使用して、重複する会社名のさまざまなグループにさまざまな色を適用する唯一の方法は、実際の重複を事前に識別する必要があります。そのリストが手元にあれば、次のような式を使用する一連の条件付き書式設定ルールを作成できます。

=AND(ISNUMBER(FIND("ABC Company",B1)),COUNTIF($B$1:$B$99,"ABC Company")>1)

この数式では、「ABC Company」は会社名、B1は範囲の最初のセル、B1:B99はセルの全範囲です。書式設定ルールごとに、その特定の会社に適したさまざまな書式設定を適用できます。つまり、重複する24の異なる会社名があることを事前に知っていた場合、それらの24の名前を処理するために24の条件付き書式ルールを設定する必要があります。

確かに複雑です。残念ながら、条件付き書式を使用する簡単な方法はありません。ただし、条件付き書式を使用せずに、マクロを使用して重複を目立たせることができます。私たちが思いつくことができる最も単純な「自動」マクロ(重複する名前を事前に知る必要がない場合)は、セルの範囲を調べ、重複する会社名に基づいて内部セルの色を設定するマクロです。

Sub ColorCompanyDuplicates()

Dim x As Integer     Dim y As Integer     Dim lRows As Long     Dim lColNum As Long     Dim iColor As Integer     Dim iDupes As Integer     Dim bFlag As Boolean

lRows = Selection.Rows.Count     lColNum = Selection.Column     iColor = 2

For x = 2 To lRows         bFlag = False         For y = 2 To x - 1             If Cells(y, lColNum) = Cells(x, lColNum) Then                 bFlag = True                 Exit For             End If         Next y         If Not bFlag Then             iDupes = 0             For y = x + 1 To lRows                 If Cells(y, lColNum) = Cells(x, lColNum) Then                     iDupes = iDupes + 1                 End If             Next y             If iDupes > 0 Then                 iColor = iColor + 1                 If iColor > 56 Then                     MsgBox "Too many duplicate companies!", vbCritical                     Exit Sub                 End If                 Cells(x, lColNum).Interior.ColorIndex = iColor                 For y = x + 1 To lRows                     If Cells(y, lColNum) = Cells(x, lColNum) Then                         Cells(y, lColNum).Interior.ColorIndex = iColor                     End If                 Next y             End If         End If     Next x End Sub

マクロを使用するには、会社名を含むセルを選択して実行するだけです。マクロはセルを3回通​​過します。最初のパスは、現在検査中のセルからセルを逆方向​​に見ます。 「後方」があるかどうかを判断するために使用されます

その場合、その特定のセルでそれ以上の処理が必要ないため、重複します。 2番目のパスは、セルを順方向に調べて、現在の会社名と重複していないかどうかを判断します。ある場合は、3回目のパスでセルの色の値がインクリメントされ、複製に適用されます。

マクロは、見つかった重複のColorIndexプロパティを設定し、重複する会社名の新しいセットが見つかったときに、プロパティの設定に使用される変数をインクリメントすることに注意してください。重複がないすべての会社名について、セルのColorIndexプロパティは変更されません。これは、マークできる会社の数に制限があることを意味します。ただし、ColorIndexの範囲は0〜56のみです。マクロによって実際に割り当てられる値の範囲は3〜56であるため、54の会社グループのみをフォーマットできます。 。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(12673)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。