Encuentre cualquier dígito - Consejos de Excel

Tabla de contenido

Excel: cómo mantener solo los dígitos de una celda, no las letras.

Ver video

  • Verifique una columna para ver si hay dígitos en el código
  • Método de facturación 1:
  • Relleno flash
  • Método Mike:
  • Utilice la función SUSTITUIR con una constante de matriz.
  • No tendrá que usar Ctrl + Shift + Enter porque es una constante de matriz
  • Esto eliminará un dígito a la vez
  • Utilice la función Y para ver si todos los elementos de la matriz resultante son iguales al elemento original
  • Método de facturación 3:
  • Use una función VBA para verificar dígitos

Transcripción del video

Bill: Oye. Dar una buena acogida. Es hora de otro Podcast de Dueling Excel. Soy Bill Jelen de. Me acompañará Mike Girvin de ExcelIsFun. Este es nuestro episodio 186: sí, si hay dígitos en la celda. La pregunta de hoy la envía Jen, tiene 13.000 filas de datos, necesita mirar a través de una celda, si algún carácter es un dígito, márquelo como Sí, de lo contrario No. Está bien. Bueno, Mike, espero que tengas una manera increíble de hacer esto porque yo no.

Voy a usar flash fill y, en flash fill, solo le daré un patrón aquí con algunas letras y números. Quiero asegurarme de incluir todos los números posibles para que entienda lo que estoy haciendo, y 0 así. Entonces, están los datos originales, y luego voy a hacer que el relleno flash lo arregle por mí, y, en la versión fija, nos vamos a deshacer de todos los dígitos. Entonces, miraré y veré si hay un dígito. Si lo hay, elimínelo así, y luego presione CONTROL + E para parpadear el relleno, y lo que deberíamos tener ahora son solo las letras, solo las letras.

Y luego la pregunta es, ¿cambió? Entonces = SI esto es = para lo que estamos buscando, entonces eso significa que no hubo cambios, no hay dígitos, entonces estamos diciendo No, de lo contrario Sí, así, y haga doble clic, cópielo, está bien y entonces cualquier cosa con un No no tiene dígitos allí. Nos deshacemos de nuestra fila original, y una vez que copiamos esto, CONTROL + C, ALT + E, S, V, y podemos deshacernos del relleno flash. Muy bien, Mike. Veamos que tienes. (= SI (A2 = B2, "No", "Sí"))

Mike: Vaya. Ese tiene que ser el uso único creativo más sorprendente de flash fill que creo que he visto. Inventó un texto, sacó los números reales, CONTROL + E, y al instante extrajo todos los números y entregó una nueva cadena de texto sin los números, y luego hizo su SI. Absolutamente hermoso.

Bien. Voy a pasar a esta hoja aquí mismo y voy a usar la función SUSTITUIR. Ahora, SUSTITUIR, le diré que mire ese texto allí mismo, y el OLD_TEXT que quiero encontrar y eliminar, bueno, son todos los dígitos. Entonces, voy a crear una matriz constante (1, 2, 3, 4, 5 todos los dígitos y). Eso es una constante de matriz y está en OLD_TEXT porque no estoy poniendo un solo elemento allí, sino que estoy poniendo un montón de elementos. Esta es una operación de matriz de argumentos de función. Aquí hay 10 artículos diferentes que le indicarán a SUBSTITUTE que entregue 10 artículos separados, correctamente, y si encuentra uno de esos artículos, ¿qué quiero? “”. Eso le dirá a la función que no ponga nada allí). (= SUSTITUIR (A2, (1,2,3,4,5,6,7,8,9,0), “”))

Ahora, mi cursor está al final. Cuando presiono la tecla F9, seguro que porque solo hay un 0, todos estos son exactamente iguales, excepto el último. Para el último, el SUSTITUTO encontró el 0 y no puso nada en su lugar. Ahora, CONTROL-Z, CONTROL-ENTER y lo voy a copiar aquí, F2 y F9. Entonces, si vamos al 6, está la versión 5, quitó el 5 allí, quitó el 6 allí y quitó el 8 allí, por lo que habrá 1, 2, 3 elementos diferentes que son diferentes. Solo cuando todos los elementos sean exactamente iguales al elemento original, nos dirá que no hay dígitos. ESCAPAR.

Voy a volver a subir a la cima. Suena como, F2, esta es una prueba lógica AND. Y función. Quiero verificar si cada uno de esos elementos en esa matriz resultante es = al elemento original. Cuando todas sean ciertas, entonces me dirá que no hay números en ese anillo de texto. ), CONTROL + ENTER, obtengo un FALSO porque a uno de ellos internamente le falta ese 0. Voy a copiar esto aquí. Este, por supuesto, obtendrá un VERDADERO, lo mismo con estos, porque todos los elementos generados internamente, si I F2 aquí, todos estos, F9, son exactamente iguales al original. ESCAPAR. Ahora, subo a la cima. Por cierto, no tuve que usar CONTROL + MAYÚS + ENTRAR porque cuando usa esta constante de matriz en su fórmula de matriz, entonces no tiene que usar CONTROL + MAYÚS + ENTRAR. (= Y (SUSTITUTO (A2, (1,2,3,4,5,6,7,8,9,0), “”) = A2))

Bien. Voy a llegar al principio. Esa es mi prueba lógica. Si todo eso resulta ser cierto, valore si es cierto, en "NO", de lo contrario, escriba un SÍ "). CONTORL + ENTER. Haga doble clic en eso. Voy a tener que hacer doble clic en este y enviarlo. Bien. Eso fue un poco divertido con SUBSTITUTE, una constante de matriz, una prueba lógica AND y el IF, pero, te digo una cosa, todavía no puedo creer ese relleno flash, cómo lo usaste para, en esencia, extraer todo números de eso. Muy bien, se lo voy a devolver, señor Excel. (= SI (Y (SUSTITUTO (A2, (1,2,3,4,5,6,7,8,9,0), “”) = A2), “No”, “Sí”))

Bill: Bueno, esa fórmula con SUBSTITUTE y la matriz constante y Y, eso es increíblemente asombroso. Tuve que usar flash fill porque no pude haber descubierto este. Eso es genial. Ahora, tengo una tercera vía. Echemos un vistazo a eso.

Ahora, esta es la forma en que realmente resolvería esto, solo un poco de VBA. Entonces, hago ALT + F11 para cambiar a VBA, INSERT, MODULE y luego escribo este código. Vamos a crear una nueva función llamada HASNUMBERS y la pasaremos al valor de la celda, y comenzaremos con la palabra ALPHA. Observamos cada carácter, y si ese código, si el (código ASC - 06:35) de ese carácter está entre 48 y 57, entonces decimos que es NÚMEROS, SALIR DE LA FUNCIÓN y seguir adelante. Bien, entonces busca hasta que encuentra un dígito. Cuando lo hace, devuelve HASNUMBERS. Entonces, aquí, vamos a decir = HASNUMBERS, apuntar a esa celda y hacer doble clic para copiarlo. Cada vez que vea un dígito allí, obtendrá los NÚMEROS, ALFA, fáciles de ordenar. (= HasNumbers (A2))

Muy bien, resumen rápido del episodio. Objetivo: verifique la columna para ver si hay dígitos en el código de carácter, el código en la celda. Usé flash fill para eliminar los dígitos, luego la función de longitud para ver si cambiaba o no. Mike tenía una fórmula brillante, función SUSTITUIR con una constante de matriz. No necesita CONTROL + MAYÚS + ENTRAR. Debe eliminar un dígito a la vez y luego usar la función Y para ver los 10 resultados y ver si cada uno es igual al elemento original. Brillante camino a seguir, y luego, mi alternativa, use una función VBA para verificar los dígitos.

Este hola. Quiero agradecerles a todos por pasar. Nos vemos la próxima vez para otro netcast de ExcelIsFun.

Descargar archivo

Descarga el archivo de muestra aquí: Duel186.xlsm

Articulos interesantes...