Novato en Excel. Necesita ayuda para crear una fórmula según lo siguiente (si es posible, prescinda de VBA):

Novato en Excel. Necesita ayuda para crear una fórmula según lo siguiente (si es posible, prescinda de VBA):

Tengo 2 hojas de excel. 1 marcado Transacciones con una columna de varias transacciones bancarias/tarjetas de crédito mensuales. La otra hoja es una hoja de cálculo de mapeo que consta de 2 columnas, la primera es un subtexto (¿cadena?) de las transacciones enumeradas en la hoja de transacciones y la segunda columna es un identificador de transacción. Quiero una fórmula en la hoja de transacciones, mediante la cual cualquier transacción enumerada con la cadena (subtexto) devolvería la clasificación en la hoja de mapeo. ¿Existe algún foro para esto sin escribir código que se aplicaría a múltiples transacciones, es decir, a las columnas completas?

![

Respuesta1

La fórmula de búsqueda con SEARCHy envuelta con IFERRORresuelve el problema:

ingrese la descripción de la imagen aquí

Cómo funciona:

  • Es como una coincidencia parcial en la columna.
  • Fórmula en la celda L31:

    =IFERROR(LOOKUP(9.99999999999999E+307,SEARCH(Mapping!$M$31:$M$39,K31),Mapping!$N$31:$N$39),"")
    

NÓTESE BIEN

  • 9.99999999999999E+307, considerado como el número más grande (longitud) que puede tener cualquier columna y se usa para devolver Row Numberel valor buscado dentro del rango ÍNDICE, y ayuda a la fórmula a encontrar y devolver el valor.

  • La SEARCHfunción devuelve la ubicación de una cadena de texto dentro de otra.

  • Debe ajustar el nombre de la hoja y las referencias de celda en la fórmula según sea necesario.

Respuesta2

Sí, eso aclara muy bien.

No puedes hacer de manera confiable lo que deseas tal como está el material.

El problema básico es ¿cómo se conecta algo como "TOYOTA CREDIT RLS" con "LEXUS FINANCIAL RLS"? Por supuesto, uno PODRÍA hacerlo con fórmulas largas y complicadas, pero entonces entra en juego la palabra "confiablemente". Y después de esa consideración, estos datos tienen la sensación de la carga de datos cr*p que las tarjetas de crédito ofrecen para descargar con la idea de que uno podría fácilmente tener muchos meses de datos para revisar y por qué coincide con esto en un sitio cercano. ¿Fila en lugar de esta otra cosa a un par de filas más o 263 filas?

La segunda hoja podría llamarse hoja de mapeo, pero si es así, no es porque realice ningún mapeo. Tampoco permite realmente el mapeo. Lo que sería útil sería una estructura en la que la primera hoja sea como está, tal vez, y la segunda hoja tenga TRES columnas: una columna con el material EXACTO en la primera columna de la primera hoja, luego las dos columnas actuales. La idea sería agregar los datos de la primera hoja, ver si se presenta algún error y actuar en consecuencia. ¿Errores? Sí, tendría una columna de búsquedas donde van los códigos (las búsquedas serían cómo llegaron esos códigos a la hoja uno).

Si apareciera algún error, significaría que los elementos de esas líneas no estaban en la lista de la hoja dos. Así que los agregarías en ese momento, completando la segunda y tercera columnas en la hoja dos. Una vez que se hayan solucionado los errores, estará listo para comenzar. ¿Sin errores? Significa que no hay nada nuevo y puedes continuar después de agregar los datos. (La fórmula de búsqueda completará la columna de código por usted).

¿Trampa? ¡Asegurándose de que la tabla a la que se hace referencia en la búsqueda nunca sea menor que la cantidad total de material en la hoja dos! Haga que lo escriban para incluir unas cuantas docenas de filas adicionales, o unos cientos. Entonces, cuando pegas material nuevo y completas la línea, todavía está en la tabla. Compruébalo de vez en cuando. O, mejor, utilizar una fórmula de referencia dinámica para que la tabla sea siempre perfecta, siempre exacta.

Sin embargo, al mirarlo, es difícil ver la necesidad de la columna A existente en la hoja de mapeo. No parece útil. Pero no estará de más conservarlo si lo es.

Una alternativa sería hacer que esa columna tenga material que la conecte de manera más útil con la columna A de la primera hoja. Eso podría hacer que las búsquedas directas sean más confiables. Si no, pues no. Pero si hace que las búsquedas sean realmente difíciles o imposibles en un mundo práctico, entonces no parece de mucha utilidad mapear nada.

¿Largo y complicado? Bueno, un enfoque para cada búsqueda podría ser escribir fórmulas FIND(), SEARCH()o SUBSTITUTE()anidadas que tomen una parte de la entrada de la primera hoja y la busquen en cada columna de la segunda hoja hasta que se encuentre alguna coincidencia. Pero eso es una tarea enorme incluso para un máximo de 20 caracteres en los datos de entrada y si "Toyota" (por ejemplo) se encuentra en dos tipos diferentes de entradas, no sólo en un tipo (como el pago y el mantenimiento del automóvil, ambos con "Toyota" en su texto), surge el problema de confiabilidad ya que podría devolver el producto equivocado.

Mi favorito hoy en día es usar MID()una SEQUENCE()cadena, un carácter a la vez, dos, dieciséis, etc. a la vez y usar el texto producido. Más útil en el uso de uno a la vez, pero esto podría usarlos todos para probar piezas contra la segunda hoja, todas las quintinliyenormes-millones de posibilidades... o ahogar la computadora cada vez que abre el archivo...

Oh, las búsquedas a las que me refiero serían las cosas estándar, probablemente las buenas nuevas XLOOKUP()ahora. ¿Todas esas pruebas que mencioné anteriormente? ¿Las quintinliyenormes millones de posibilidades? Cada uno tendría que incluirse en la búsqueda elegida para que el primero exitoso tenga un resultado que usted usaría. Entonces el doble de operaciones, o más...

¿Línea de fondo? Parece que el material tiene que ser reestructurado.

No importa mucho si no es tuyo y ni siquiera cargas los datos. Aún puedes reestructurar mientras haces tu trabajo. Guarde un segundo archivo con la tabla que describí. Tenga fórmulas en esa u otra hoja que realicen la búsqueda real. Luego copie y pegue sus resultados ( Copy|Paste|Special: Values) nuevamente en la hoja de cálculo actual a la que pertenecen. Has dado un vuelco a la idea de perfección del diseñador. Nunca lo saben, ya que no cambia su hoja de cálculo y, aun así, obtienen los resultados que querían. Todos ganan.

información relacionada