Connie ha un foglio di lavoro che ha i nomi delle società in ogni cella della colonna B.

Sono raggruppati sotto un’intestazione di regione (Nordest, Ovest, ecc.) Nella colonna A. Vorrebbe applicare la formattazione condizionale ai nomi delle società in modo che se un nome appare in più di una regione, viene visualizzato utilizzando uno sfondo o un testo colore che rende le aziende corrispondenti facili da trovare. Ciò significa che se una società è formattata come rossa, nessun’altra azienda dovrebbe apparire come rossa (dovrebbe apparire come un colore diverso, ad esempio blu o verde). Connie non è sicura di come configurarlo o se può essere fatto anche con la formattazione condizionale.

C’è un modo per contrassegnare i duplicati utilizzando la formattazione condizionale; segui questi passaggi generali:

  1. Seleziona le celle che contengono i nomi della tua azienda.

  2. Visualizzare la scheda Home della barra multifunzione e fare clic sullo strumento Formattazione condizionale nel gruppo Stili.

  3. Seleziona Nuova regola. Excel visualizza la finestra di dialogo Nuova regola di formattazione.

  4. Fare clic sull’opzione Formatta solo valori univoci o duplicati nella parte superiore della finestra di dialogo.

  5. Assicurati che Duplica sia selezionato nell’elenco a discesa nella metà inferiore della finestra di dialogo. (Vedi figura 1.)

  6. Fare clic sul pulsante Formato e modificare la formattazione per riflettere il modo in cui si desidera visualizzare i nomi di società duplicati.

  7. Fare clic su OK per chiudere la finestra di dialogo Nuova regola di formattazione.

A questo punto tutti i tuoi duplicati dovrebbero corrispondere alla formattazione selezionata nel passaggio 6. L’unico problema è che tutti i duplicati sono formattati allo stesso modo. In altre parole, se hai due società (società ABC e società DEF) e ci sono duplicati per quelle società, sono tutte formattate allo stesso modo, non vedrai una formattazione diversa per le due società.

Ovviamente, è possibile utilizzare facilmente le funzionalità di filtro di Excel per individuare società duplicate, società non duplicate o nomi di società individuali. Questo potrebbe essere il modo più semplice per “azzerare” le aziende che desideri individuare.

L’unico modo per utilizzare la formattazione condizionale per applicare colori diversi a diversi gruppi di nomi di società duplicati richiede di identificare, in anticipo, i duplicati effettivi. Con quell’elenco in mano, potresti creare una serie di regole di formattazione condizionale che utilizzano formule simili alle seguenti:

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

In questa formula “Azienda ABC” è il nome della società, B1 è la prima cella dell’intervallo e B1: B99 è l’intervallo completo di celle. Per ogni regola di formattazione è possibile applicare una formattazione diversa appropriata per quella particolare azienda. Ciò significa che se sapessi, in anticipo, che c’erano 24 nomi di società diversi con duplicati, avresti bisogno di impostare 24 regole di formattazione condizionale per gestire quei 24 nomi.

Complesso, davvero. Sfortunatamente, non esiste un modo più semplice per utilizzare la formattazione condizionale. Tuttavia, potresti rinunciare alla formattazione condizionale e utilizzare una macro per far risaltare i tuoi duplicati. La macro “automatica” più semplice che potremmo inventare (in cui non è necessario conoscere i nomi duplicati in anticipo) è quella che esamina un intervallo di celle e imposta il colore della cella interna in base ai nomi di società duplicati.

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

Per utilizzare la macro, seleziona semplicemente le celle che contengono i nomi delle società e quindi eseguila. La macro esegue tre passaggi attraverso le celle. Il primo passaggio guarda indietro attraverso le celle rispetto a quella attuale in esame; è usato per determinare se ci sono “indietro”

duplicati, perché se ci sono, non è necessaria alcuna ulteriore elaborazione su quella particolare cella. Il secondo passaggio esamina le celle per determinare se sono presenti duplicati del nome dell’azienda corrente. In caso affermativo, un terzo passaggio incrementa il valore del colore della cella e lo applica ai duplicati.

Si noti che la macro imposta la proprietà ColorIndex di tutti i duplicati che trova e incrementa la variabile utilizzata per impostare la proprietà quando trova un nuovo set di nomi di società duplicati. Per tutti quei nomi di società per i quali non sono presenti duplicati, la proprietà ColorIndex della cella non viene modificata. Ciò significa che esiste un limite al numero di aziende che possono essere contrassegnate, tuttavia, ColorIndex può variare solo tra 0 e 56. I valori effettivamente assegnati dalla macro vanno da 3 a 56, quindi è possibile formattare solo 54 raggruppamenti di società .

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (12673) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.