Colorear nombres de empresas idénticos (Microsoft Excel)
Connie tiene una hoja de trabajo que tiene nombres de empresas en cada celda de la columna B.
Están agrupados bajo un encabezado de región (Noreste, Oeste, etc.) en la columna A. Le gustaría aplicar formato condicional a los nombres de las empresas para que, si un nombre aparece en más de una región, se muestre con un fondo o texto. color que hace que las empresas coincidentes sean fáciles de encontrar. Esto significa que si una empresa tiene el formato rojo, ninguna otra empresa debería aparecer en rojo (debería aparecer con un color diferente, como azul o verde). Connie no está segura de cómo configurar esto o si incluso se puede hacer con formato condicional.
Hay una forma de marcar duplicados usando formato condicional; solo sigue estos pasos generales:
-
Seleccione las celdas que contienen los nombres de su empresa.
-
Muestre la pestaña Inicio de la cinta y haga clic en la herramienta Formato condicional en el grupo Estilos.
-
Seleccione Nueva regla. Excel muestra el cuadro de diálogo Nueva regla de formato.
-
Haga clic en la opción Dar formato solo a valores únicos o duplicados en la parte superior del cuadro de diálogo.
-
Asegúrese de que Duplicar esté seleccionado en la lista desplegable en la mitad inferior del cuadro de diálogo. (Ver figura 1)
-
Haga clic en el botón Formato y cambie el formato para reflejar cómo desea que aparezcan los nombres de empresas duplicados.
-
Haga clic en Aceptar para cerrar el cuadro de diálogo Nueva regla de formato.
En este punto, todos sus duplicados deben coincidir con el formato que seleccionó en el paso 6. El único problema es que todos los duplicados tienen el mismo formato. En otras palabras, si tiene dos empresas (ABC Company y DEF Company) y hay duplicados para esas empresas, todas tienen el mismo formato; no verá formatos diferentes para las dos empresas.
Por supuesto, puede utilizar fácilmente las capacidades de filtrado de Excel para identificar empresas duplicadas, empresas no duplicadas o nombres de empresas individuales. Esta podría ser la forma más fácil de «concentrarse» en las empresas que desea ubicar.
La única forma de utilizar el formato condicional para aplicar diferentes colores a diferentes grupos de nombres de empresas duplicados requiere que identifique, por adelantado, los duplicados reales. Con esa lista en la mano, puede crear una serie de reglas de formato condicional que usen fórmulas similares a las siguientes:
=AND(ISNUMBER(FIND("ABC Company",B1)),COUNTIF($B$1:$B$99,"ABC Company")>1)
En esta fórmula, «Compañía ABC» es el nombre de la empresa, B1 es la primera celda del rango y B1: B99 es el rango completo de celdas. Para cada regla de formato, puede aplicar un formato diferente apropiado para esa empresa en particular. Eso significa que si supiera, de antemano, que hay 24 nombres de empresas diferentes que tienen duplicados, necesitaría configurar 24 reglas de formato condicional para manejar esos 24 nombres.
Complejo, de hecho. Desafortunadamente, no existe una forma más sencilla de utilizar el formato condicional. Sin embargo, podría renunciar al formato condicional y usar una macro para hacer que sus duplicados se destaquen. La macro «automática» más simple que se nos ocurrió (en la que no es necesario conocer los nombres duplicados de antemano) es una que examina un rango de celdas y establece el color interno de la celda en función de los nombres de empresas duplicados.
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
Para usar la macro, simplemente seleccione las celdas que contienen los nombres de la empresa y luego ejecútela. La macro hace tres pases a través de las celdas. La primera pasada mira hacia atrás a través de las celdas desde la actual que se está examinando; se utiliza para determinar si hay algún «al revés»
duplicados, porque si no hay más procesamiento en esa celda en particular, es necesario. La segunda pasada mira hacia adelante a través de las celdas para determinar si hay duplicados en el nombre actual de la empresa. Si los hay, una tercera pasada incrementa el valor del color de la celda y luego lo aplica a los duplicados.
Tenga en cuenta que la macro establece la propiedad ColorIndex de cualquier duplicado que encuentre, e incrementa la variable utilizada para establecer la propiedad cuando encuentra un nuevo conjunto de nombres de empresas duplicados. Para todos aquellos nombres de empresas para los que no hay duplicados, la propiedad ColorIndex de la celda no cambia. Sin embargo, esto significa que hay un límite en la cantidad de empresas que se pueden marcar; el ColorIndex solo puede oscilar entre 0 y 56. Los valores realmente asignados por la macro varían de 3 a 56, por lo que solo es posible formatear 54 agrupaciones de empresas .
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (12673) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.