Ayuda funcion excel

Tengo más o menos el mismo problema, lo expongo aquí a ver si alguien me puede ayudar:
Mis columnas son:
(A2)Fecha Actual (B2)25/01/2009
(J3)Num. Exp. (K3)1º Venc.
(J4)400201 (K4)25/01/2009
(J5)400205 (K5)26/01/2009
(J6)400206 (K6)25/01/2009
(J7)400209 (K7)25/01/2009
Lo que necesito es que en otra hoja del mismo libro con alguna función, compare la fecha actual (B2) con todas la fechas de la columna (K) y me devuelva el numero que corresponde de la columna (J). Por ejemplo si yo en fecha actual pongo 26/01/2009 me debería traer 400205 y si pongo 25/01/2009 me debería traer, 400201, 400206, 400206.
He probado millones de fórmulas y no logro que me traiga todos los valores en las correspondientes columnas.
Gracias
Respuesta

Si que se puede hacer a través de una fórmula rápida y sencilla, sin escribir ninguna línea de código

  1. Has de poner la columna 1 Venc a la izquierda y ha su derecha la de las Num Exp
  2. En un celda has de poner una fórmula semejante a esta
  3. =SI(B3=B2;BUSCARV(B2;E4:F7;2;FALSO);"Valor no existente")
  4. B3 es la celda nueva creada para poder realizar la comparación
  5. B2 es tu celda donde pones la fecha actual
  6. E4:E7 es donde esta el rango de 1 Venc y Num Expediente, sin los titulos, solo las fechas y sus correspondientes números
  7. Valor no existente es un control de fallos en caso de que B3 no sea igual a B2

2 respuestas más de otros expertos

Respuesta
2
Para aclarar las cosas sobre tu caso:
No existe una fórmula que haga eso lo que tu pides como tal. La fórmula sirve para colocar un valor en una celda (El valor puede ser numérico, texto, fecha etc).
Por tanto, cuando las funciones y fórmulas no puedan con un problema en particular, es necesario recurrir a la programación en VBA. Quizás no estés familiarizado, pero te ayudara en tu caso.
Sigue los siguientes pasos. Para ello respertare como están distribuidos tus datos según comentas.
1.- Asumo que en Hoja1 están todos tus datos mencionados según tu consulta. En Hoja2 sera el reporte deseado.
2.- En hoja1 en la celda B1 escribe "Fecha"
3.- Ahora selecciona el rango B1:B2
4.- Una vez seleccionado haz la combinación CTRL+F3
5.- En el recuadro que aparecerá en la opción Nombre escribe "Factual". Después de ello aceptas para salir.
6.- Ahora selecciona el rango J3:K7. Luego haces CTRL+F3 y como nombre escribe "Datos". Lo que hemos hecho es asignar algunos nombres a 2 rangos.
7.- Ahora activemos una barra de herramientas en especial. Ve a menu "Ver" > "Barras de herramientas" > "Visual Basic"
8.- De esa barra que hemos activado, selecciona la opción "Cuadro de controles". En ella aparecerá una ventanita. Escoge la opción que dice "Botón de comando". Al escoger este control deberás dibujar ese botón con el mouse en Hoja1. No es difícil.
9.- Selecciona el botón de comando y haz click derecho y escoge la opción "Ver código". Al hacerlo se abrirá una ventana la cual es el Editor de Visual BAsic.
10.- Veras que en la parte izquierda seguramente estarab 2 paneles "Proyecto" y "Propiedades" y a la derecha esta la ventande de código. Por defecto esta el evento Click como podrás apreciar. Te darás ademas cuenta que ya esta escrito dos lineas de código.
11.- Retorna a Excel ahora y ve a la Hoja1. Selecciona el rango J3:K3. Copia y luego dirígete a Hoja 2 y selecciona la celda A3. Una vez hecho esto pega lo que haz copiado.
12.- Hasta el momento hemos creado 3 nombres a 3 rangos.
13.- Ahora regresa al Editor de Visual Basicm específicamente a la ventana de código. Entre esas dos lineas de código vas a copiar y pegar el siguiente código:
Range("Datos").AdvancedFilter xlFilterCopy, "Factual", "Criterio", Unique = False

14.- Guarda tus avances. Ahora regresa a Excel de nuevo. Situate en la barra de herramientas "Visual BAsic" y pulsa el botón que dice "Salir del modo diseño"
15.- Guarda el archivo de nuevo y pulsa elboton de comando. Veras que según la fecha digitada en B2 en Hoja 2 aparecerá los datos relacionadas con la fecha.
****
Espero ser opotuno en mi rápida corrección sobre tu caso.
Hasta el punto 11 esta correcto. Me falto obviar un punto importante. Es con respecto a los nombres de los rangos:
Revisemos:
Hoja1:
Rango J3:K7 >>> "Datos"
Rango B1:B2 >>> "Factual"
Hoja2:
Rango A3:B3 >>> "Criterio"
****
Como te darás cuenta en el código que te he pasado existe una palabra Criterio. Es precisamente ese el detalle que me falto precisar de como salia. Era que habíamos obviado un nombre de rango asignar.
El código que te pase es válido. No hay ningún problema.
Cada vez que hagas click en el botón de comando extraerá los datos relacionadas con la fecha ingresada en Hoja1.
Ahora si, estoy más tranquilo. Espero haberte ayudado a tiempo.
No te olvides de finalizar y puntuar al final de esta página. Es importante para poder proseguir con tras preguntas.
Christian
Christian
Afortunadamente llegaste a tiempo, pero me han surgido una duda y un error, la duda es: en el paso 11, tu dices:
"11.- Retorna a Excel ahora y ve a la Hoja1. Selecciona el rango J3:K3. Copia y luego dirígete a Hoja 2 y selecciona la celda A3. Una vez hecho esto pega lo que haz copiado."
Según entiendo debo copiar todos los datos compredidos entre J3yk3 y después pegarlos en la hoja2 en la celda A3, si es así me quedan esos datos pegados en la hoja 2, ¿es posible?
Y el error que me da al salir de modo diseño y pulsando el botón de comando es: "Se ha producido erro 1004" - "El texto introducido no es una referencia valida o un nombre definido"
Espero no haberte enrollado y hayas entendido el error.
Gracias.
Comprendo tu duda. El punto 11 hacia referencia a seleccionar esas dos celdas precisamente que son los encabezados de las columnas y los pegaras en la Hoja 2.
Intenta ello por favor. Quizás comprendiste que era copiar todos los datos incluido encabezado, pero el punto 11 hace alusión solamente a copiar y pegar encabezados.
Fíjate sobre ello por favor, luego me avisas. Si existe algún problema me avisas. El cuadro de dialogo que sale es por ese error que con este mensaje estoy seguro que se soluciona.
Me avisas como te fue. Si el problema persiste me avisas, para enviarte el archivo, para ello necesitare tu correo. Primero intenta corregirlo.
Un saludo
Christian
rchristian23(arroba)hotmail.com
Christian:
No logro dar en la tecla. Te envío la planilla por mail, a ver que puedes hacer.
Un saludo.
Gracias.
Claudio!
Acabo de enviarte un mail.
Por favor no te olvides de finalizar y puntuar al final de esta página para proseguir con otras consultas.
Saludosç
Christian
Muchas gracias!
Solo me restaría saber como hago para que me filtre en las demás hojas y si puedo agregar más datos e igual va a seguir filtrando.
Saludos.
Respuesta
1

Necesitas usar la fubncion BUSCARV, Antges tenes que reordenar la tabla de mosdo que la primera columna sean las fechas. De ese modo armas esto:

=BUSCARV(B1;K3:J1000;1;0)

Donde K es para vencimientos y J para numero expte (J1000=1000 expedientes).

Si tenes cuidado de usar siempre la fecha de hoy podes usar:

=BUSCARV(hoy( );K3:J1000;1;0)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas