Fórmula excel Buscarv y si fecha

Estoy con un problema con la función buscarv, como se sabe la función buscarv busca el primer dato que encuentra. Mi problema es el siguiente, mi tabla contiene valores de fechas, artículos y valores. Estos aveces se repiten y con la fórmula buscarv me trrea siempre el primer dato, lo que quiero pero no logro realizar es que me busque el dato pero en el mes anterior al mes actual. No se si esta bien explicado ...

2 respuestas

Respuesta
1

.23.05.17

Buenas, Fabricio

Es una situación habitual que -como suele pasar con MS Excel- puede resolverse de distintas maneras:

1.- Ordenar Base

Esta parece la más pedestre en la cual ordenarías la base por fecha en forma descendente. Claro que puede pasar que la base tenga datos del mes actual y, en tal caso, el valor que traería seria el de este mes y no el del anterior.

2.- Columna Auxiliar

En este caso, a la izquierda de tu base de datos colocarías una fórmula que junte el código de articulo y el mes (más año, agregaría) de cada registro.

Supongamos que ese código estuviera en la columna B y cada fecha en la columna E, poné en la columna A una fórmula como esta:

=B3&"-"&AÑO(E3)&"-"&MES(E3)

Asignale el formato deseado, luego copia esta celda y pegala en las restantes de esta misma columna.

Así tendrás una combinación de código y año/mes por cada registro para hacer la búsqueda por esta columna. LA ventaja de esta solución es que podés seguir agregandole factores diferenciadores, sin perjuicio de que ordenés la base como te sea más útil o, directamente, no la ordenes.

Desde luego, la fórmula de buscarv que usés deberá seguir ese patrón Codigo-año-mes.

Así si la fecha de hoy estuviera como en el ejemplo en I13 y el primer código a buscar en la celda I15, donde querés el resultado colocá esta fórmula:

=BUSCARV(I15&"-"&AÑO($I$13)&"-"&MES($I$13)-1;$A$3:$G$37;6;0)

[Fijate si usás comas o punto y coma para separar argumentos de las funciones. Yo usé ";"]

Esta fórmula traerá el importede ese código para el mes anterior... siempre que no sea Enero y, claro, que el código y fecha existan...

Para evitar un error cuando el mes actual sea enero, la fórmula sería como la de la imagen:

Pero para evitar ambos problemas la fórmula final debería ser como esta (las otras eran sólo al efecto didáctico):

=SI(ESNOD(BUSCARV(I15&"-"&AÑO($I$13)-SI(MES($I$13)=1;1;0)&"-"&SI(MES($I$13)=1;12;MES($I$13)-1);$A$3:$G$37;6;0));"No existe este producto en el mes anterior";BUSCARV(I15&"-"&AÑO($I$13)-SI(MES($I$13)=1;1;0)&"-"&SI(MES($I$13)=1;12;MES($I$13)-1);$A$3:$G$37;6;0))

En realidad es la misma fórmula anterior, solo que la encerré dentro de ESNOD que me permite capturar el error #N/A, en cuyo caso el condicional coloca el mensaje que quieras ponerle. Si no trae el resultado.

Comentame si mi solución resuelve lo que buscás -y, en tal caso, agradeceré que califiques mi contribución- o escribime de nuevo aquí, si necesitas más apoyo con esto.

Un saludo

Fernando

.

(Buenos Aires, Argentina)

.

¡Gracias! Por la info, ya me pongo a tran¡bajar asi lo resulevo

En la parte de arriba detalle mi tabla, me lo podrías armar con mi tabla, es que se me complica al querer hacerlo a mi planilla, muchas gracias

Otra duda y en el caso de que el dato no este en el mes anterior si no en ej: tres meses atrás, ¿me traería es valor?

.

Hola, Fabricio

Me parece que no está indicada cómo es tu tabla, como para poder remplazar las direcciones de celda con las que tenés en ella. Pasame una imagen o el archivo y te hago las modificaciones necesarias.

Respecto a tu segunda pregunta, podría hacerse que busque por aproximación pero perderías el control de existencia de algún código de artículo. No sé si es tan conveniente.

Abrazo

Fer

.

Respuesta

[Hola 

Puedes poner un ejemplo y el resultado que deseas saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas