2 votos

¿Cómo buscar una palabra exacta en una columna utilizando el filtro de Excel "Contiene"?

Estoy buscando celdas que tengan la palabra aldi en el desplegable del filtro. Así que elijo "Contiene" e introduzco aldi .

Esto es traer de vuelta las células que contienen Ger aldi ne, etc.

He tenido cierto éxito utilizando aldi * con el espacio y el asterisco, que elimina resultados como Ger aldi ne. Pero todavía contiene resultados como Vivaldi .

No me importa si la cadena contiene otra palabra junto con aldi Por ejemplo Tienda Aldi 123 . Sólo quiero asegurarme de que la instancia de aldi es por sí mismo.

Muestra de datos:

GERALDINE
RISTORANTE GARIBALDI
ALDI
PORTA GARIBALDI
GRIMALDI
ALDI STORES

Screenshot is what I have done so far.

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" ?

2voto

Gary's Student Puntos 4373

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:

  1. ALT-F11 abre la ventana VBE
  2. ALT-I ALT-M abre un nuevo módulo
  3. 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:

  1. abrir la ventana VBE como se ha indicado anteriormente
  2. borrar el código
  3. 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

0 votos

Gracias, lo intentaré. ¿Qué estás haciendo exactamente aquí? arr = Split(LCase(Replace(sIn, ".", "")))

0 votos

@SCool Ver mi EDITAR#1

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X