Primero introduzca la siguiente función definida por el usuario en un módulo estándar:
Public Function aldi(sIn As String) As String
arr = Split(LCase(Replace(sIn, ".", "")))
aldi = "h"
For Each a In arr
If a = "aldi" Then
aldi = "s"
End If
Next a
End Function
Devolverá "s" para "mostrar" o "h" para "ocultar"
Si sus datos están en la columna A , entonces en B2 entrar:
=aldi(A2)
y copiar hacia abajo:
![enter image description here]()
A continuación, la columna del filtro B para mostrar sólo el "s" filas:
![enter image description here]()
Las funciones definidas por el usuario (UDF) son muy fáciles de instalar y el uso:
- ALT-F11 abre la ventana VBE
- ALT-I ALT-M abre un nuevo módulo
- pegar el material y cerrar la ventana VBE
Si guarda el libro de trabajo, la UDF se guardará con él. Si utiliza una versión de Excel posterior a la 2003, debe guardar el archivo el archivo como .xlsm en lugar de .xlsx
A eliminar la UDF:
- abrir la ventana VBE como se ha indicado anteriormente
- borrar el código
- cerrar la ventana VBE
A utilice la UDF de Excel:
=aldi(A1)
Para saber más sobre las macros en general, consulte:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
y
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
y para conocer los detalles de las UDFs, ver:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
Las macros deben estar activadas para que esto funcione.
EDIT#1:
La línea de código:
arr = Split(LCase(Replace(sIn, ".", "")))
- toma la frase u oración y la convierte en minúsculas; así Aldi y aldi son tratados de la misma manera.
- elimina los puntos para que cualquier aldi. se consideran "show"
- crea una matriz de palabras utilizando el carácter de espacio como separador.
- busca "aldi" en ese conjunto
1 votos
¿Es Aldi siempre la primera palabra en las celdas deseadas?
0 votos
No siempre. Podría decir "Aldi de Nueva York". Hay al menos 100 nombres de tiendas diferentes que tengo que estandarizar. Por ejemplo, una vez que limpie Aldi, intentaré estandarizar todos los KFC. Así que tendré que buscar todas las instancias de las tiendas KFC, por ejemplo, "New York KFC" o "1235 KFC Toronto" o "KFC NY" ... pero omitir "UKFC Football Club", por ejemplo. Necesito que KFC / Aldi etc. estén solos en la cadena.
0 votos
¿Y si siempre fuera la primera palabra? Utilizar "seres con" ?
0 votos
Debe ser
* aldi *
, asterisco antes y después (también con espacios). Pero sería un problema si las celdas terminan con ` aldi` sin espacio...