Respuesta1
Para resolver el problema necesitas VBA (Macro):
Cómo funciona:
- O presioneAlt+F11oBotón derecho del ratónHoja TAB y desde el menú emergente haga clicVer código.
- Copiar&Pegareste código comomódulo estándar.
CORRERla Macro.
Private Sub Worksheet_SelectionChange(ByVal rngSel As Range) Set rngTable = [I2:K17] If rngSel.Count > 1 Or Intersect(rngSel, rngTable) Is Nothing Then End For Each rngCell In rngTable rngCell.Interior.ColorIndex = IIf(rngCell.Value = rngSel.Value, 27, -4142) Next End Sub
NÓTESE BIEN
- En este código
rngTable = [I2:K17]
, las referencias de celda y el código de color27, -4142
son editables.
Respuesta2
El enfoque que yo tomaría es una de dos maneras:
1) Utilice una tabla de búsqueda e intente inventar exhaustivamente todas las variaciones posibles que los usuarios idiotas puedan imaginar para lo mismo, o utilice datos de origen y elimine duplicados para obtener la lista conocida de opciones estúpidas. Este es el tipo de cosas que tengo que hacer al migrar datos de contacto con "título de trabajo": el registro hasta la fecha es de 67 formas diferentes de diseñar o deletrear "Director Gerente" (MD, MD, M Dir, Manging Driector, etc.). Este enfoque es excelente para datos históricos únicos: en mi caso, una vez que se migraron los datos, utilizamos listas de selección desplegables para evitar que los usuarios causaran el mismo problema de siempre en un sistema nuevo.
2) Utilice un conjunto de reglas para "descartar" información irrelevante que no considere necesaria para discriminar entre cosas que coinciden. Un montón de funciones SUSTITUIR anidadas que reemplazan cadenas cortas con "" funcionan. Reemplace los signos de puntuación como . - /: primero, luego cosas como (PVT) y Ltd y Limited. Si alguna de estas cadenas cortas es ambigua y podría aparecer dentro de otra palabra, incluya un espacio antes, después o ambos. Un buen ejemplo es reemplazar "Co " pero no "Co" para evitar terminar con "empresa" o "bblers". SUSTITUYA " " por "" (es decir, pierda los espacios al final). Esto trata sobre "ABC Foods", pero deja los espacios para el final para que aún puedas analizar cadenas sin perder fragmentos de palabras.
Supongo que considera que "ABC Foods" es lo mismo que "ABC Foods (PVT) Ltd."
Ahora cree una lista de todas las respuestas "correctas". Cree una segunda columna a la izquierda usando su fórmula, luego copie > pegue valores > especiales para "aplanar" esto. Ahora, en sus datos principales, use sus sustituciones para reducir el nombre a su formato minimalista, luego utilícelo como valor de búsqueda para devolver la versión "correcta". Puedes usar una columna auxiliar para los SUSTITUTOS o hacerlo todo de una vez.
Este enfoque requiere algunos intentos para hacerlo bien y detectar todos los bits que se pueden desechar de manera segura, pero luego es más sólido si los datos de origen pueden contener errores nuevos e inesperados en el futuro.
Recuerde: si intenta hacerlo a prueba de idiotas, alguien simplemente irá a buscar a un idiota más grande.