¿Cómo puedo filtrar las entradas que contienen una palabra específica en una lista de palabras? Por ejemplo, tengo una lista de nombres de carreteras en Singapur.
Amoy Street, Singapur
Ann Siang Hill
Camino de anson
Calle arabe
Calle armenia, singapur
Calle Bagdad (Singapur)
Camino balestier
Calle banda
Bartley Road
Playa Road, Singapur
Calle bencoolen
Calle bamam
Muelle de barco
Boon Tat Street
Boundary Road, Singapur
Bras Basah Road
Calle bugis
Bukit Batok Road
Bukit Pasoh Road
Bukit Timah Road
Cantonment Road, Singapur
Choa Chu Kang Road
Clarke Quay
Clementi Road
Club Street
Collyer Quay
Connaught Drive
Craig Road (Singapur)
Cruzar la calle
y muchos más
Mi hoja de cálculo tiene una gran cantidad de entradas como la siguiente, que pueden contener o no nombres de carreteras mencionados en mi lista:
- Vio un accidente en Thomson Road
- Encontré esto por accidente
- 6 vehículos se estrellaron en la calle Balestier
- Quiero chocar ahora. Tan cansado.
- El autobús choca con la bicicleta en la calle árabe.
- Accidente en City Road.
- Puedes chocar mi casa más tarde.
¿Cómo puedo filtrar para devolver las entradas que contienen cualquier nombre de vía identificado en la lista de nombres? ¿Cómo introduzco una matriz / lista de nombres de carreteras en Microsoft Excel y luego las relaciono con una función de filtro?
fuente
Respuestas:
En primer lugar, si desea hacer coincidir oraciones que contengan "Amoy Street", deberá eliminar "Singapur" de esa primera entrada (y las demás que lo contienen, y también con "(Singapur)"). Si lo desea, puede hacer esto con una fórmula en una columna auxiliar, así que supongamos que su lista minimizada de nombres de carreteras está en las celdas
B1
medianteB42
. Y suponga que sus siete oraciones de ejemplo (o diecisiete mil, o las que tenga) están en la columnaC
. Tipoen la celda
D1
y escriba Ctrl + Cambio + Entrar . Esto entra en la fórmula como fórmula matricial , haciendo que aparezca entre llaves:{=AND(ISERROR(SEARCH(A$1:A$3, B1)))}
. Arrastre / rellene hacia abajo para cubrir la columnaC
. Esto evaluará a FALSO para cada oración (C
valor) que contiene una cadena deB1:B42
y VERDADERO para cada uno que no lo hace. Puedes filtrar en eso. Si no te gusta el hecho de que estos valores son "hacia atrás", simplemente envuelve la expresión en unNOT( )
:Este es un caso insensible. Si desea que sea sensible a mayúsculas y minúsculas, reemplace
SEARCH
conFIND
.Esta solución encuentra subcadenas. Hacerlo sensible a las mayúsculas reduce la probabilidad de falsos positivos como "Banson Road" y "Uboat Quay". Si el nombre de la carretera nunca aparecerá al principio de una oración, puede eliminar estas subcadenas que coincidan con falsos positivos al añadir un espacio a cada nombre de la carretera en la Columna
B
. Si un nombre de carretera puede aparece al principio de una oración, entonces haz eso y cambia la fórmula aPara manejar "Sr. Connaught conduce un Mercedes ", haz lo mismo pero adjuntar los espacios. Esto todavía no puede manejar "¿Connaught conduce un Mercedes?", por lo que es posible que desee ir la ruta sensible al caso.
He probado esta solución para un pequeño número de cadenas. Es posible que falle si la lista de carreteras es muy larga.
fuente
Utilice Autofiltro con el Contiene ... opción. Esto le permitirá ver los elementos que contienen una cadena de texto dada dentro de ellos. Las filas que no contengan la cadena quedarán ocultas.
Referencia
EDITAR # 1 :
Como señaló James Jenkins, usar AutoFilter con Contiene ... no permitirá que una larga lista de subcadenas incluidas se aplique simultáneamente ........... aquí hay un enfoque alternativo basado en VBA.
Digamos que tenemos un libro de trabajo con dos pestañas "caminos" y "elementos". La lista de caminos está en la pestaña "caminos" que comienza en A2 . La lista de elementos a filtrar se encuentra en la pestaña "elementos" que comienza en A2 .
Esta macro primero lee la lista de caminos en una matriz. La matriz se aplica a cada elemento de la lista de elementos. Cada fila de elemento se oculta o se muestra.
fuente
Puede utilizar el filtro avanzado. Echa un vistazo a la siguiente publicación:
https://wmfexcel.com/2017/08/02/filter-a-lists-of-items-from-a-long-long-list/
fuente