Consulta

Solo consultas sobre Bases de Datos y Tablas Dinámicas Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Consulta

Notapor AgustinG » 24 Mar 2008 17:14

Tengo una base de datos con una columna de fechas y otra de valores (todo el año). En otra hoja, en una celda determinada deseo obtener el valor máximo de un mes determinado, en base a su fecha inicial y final del mismo.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
AgustinG
Miembro Nuevo
Miembro Nuevo
 
Registrado: 20 Mar 2007 18:17

Notapor sailepaty » 24 Mar 2008 17:27

Es de tipo matricial,

=MAX((Hoja1!$A$2:$A$166>=Hoja2!C2)*(Hoja1!$A$2:$A$166<=Hoja2!D2)*(Hoja1!$B$2:$B$166))

Confirmala con Ctrl+Shift+Enter
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
sailepaty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 27 Oct 2004 12:31
Ubicación: Dallas, TX

Re: Consulta

Notapor AgustinG » 24 Mar 2008 17:40

Muchas gracias, SailePaty, así­ es, la formula es esa y con CTRL+SHIFT+Enter, hasta pronto.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
AgustinG
Miembro Nuevo
Miembro Nuevo
 
Registrado: 20 Mar 2007 18:17

Re: Consulta

Notapor galileogali » 27 Mar 2008 21:17

Otras variantes no matriciales a la formula de saile

en el adjunto....
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Notapor sailepaty » 28 Mar 2008 13:44

Otra opción para quitarle la necersidad del Ctrl+Shift+Enter.

=MAX(INDICE((Hoja1!$A$2:$A$166>=Hoja2!C2)*(Hoja1!$A$2:$A$166<=Hoja2!D2)*(Hoja1!$B$2:$B$166),0))

Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
sailepaty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 27 Oct 2004 12:31
Ubicación: Dallas, TX

Re: Consulta

Notapor KL » 29 Mar 2008 08:29

Y por que no asi:

=MAX(INDICE(Hoja1!B2:B166;COINCIDIR(C2;Hoja1!A2:A166;)):INDICE(Hoja1!B2:B166;COINCIDIR(D2;Hoja1!A2:A166;)))
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
KL
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Mar 2006 13:57
Ubicación: Madrid

Re: Consulta

Notapor KL » 29 Mar 2008 08:54

de hecho, si las fechas no pudieran repetirse, se podria acelerar la formula mas todavia quitando el tercer argumento de la funcion COINCIDIR():

=MAX(INDICE(Hoja1!B2:B166;COINCIDIR(C2;Hoja1!A2:A166)):INDICE(Hoja1!B2:B166;COINCIDIR(D2;Hoja1!A2:A166)))
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
KL
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Mar 2006 13:57
Ubicación: Madrid

Re: Consulta

Notapor galileogali » 29 Mar 2008 08:56

Muy bueno KL,

..........claro que basándote en que la tabla esta ordenada por fechas.....
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Re: Consulta

Notapor KL » 29 Mar 2008 09:06

galileogali";p="45109 escribió:Muy bueno KL,

..........claro que basándote en que la tabla esta ordenada por fechas.....


Por supuesto. A juzgar por los datos, lo mas probable es que se introduzcan por un programa automaticamente, por lo que me parece alta la probabilidad de que siempre esten ordenadas por fecha (otra cuestion seria si se ordenan por orden ascendiente o no :-)).
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
KL
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Mar 2006 13:57
Ubicación: Madrid

Re: Consulta

Notapor galileogali » 29 Mar 2008 09:07

Si bien calculo que la combinacion INDICE-COINCIDIR, garantiza tal vez , la mejor performance, tiene tambien el escollo de no funcionar cuando falta alguno de los extremos especificados del tintervalo, es decir cuando estan ausentes el 01 o el 31
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Re: Consulta

Notapor KL » 29 Mar 2008 09:20

galileogali";p="45111 escribió:Si bien calculo que la combinacion INDICE-COINCIDIR, garantiza tal vez , la mejor performance, tiene tambien el escollo de no funcionar cuando falta alguno de los extremos especificados del tintervalo, es decir cuando estan ausentes el 01 o el 31


Me parece que esto se podria resolver por un trozo condicional que practicamente no afectaria el performance :-)

=MAX(INDICE(Hoja1!B2:B166;SI(C2;COINCIDIR(C2;Hoja1!A2:A166);1)):INDICE(Hoja1!B2:B166;COINCIDIR(SI(D2;D2;9e307);Hoja1!A2:A166)))
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
KL
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Mar 2006 13:57
Ubicación: Madrid

Re: Consulta

Notapor galileogali » 29 Mar 2008 09:35

Ahora creo no haber sido claro con la descripcion del escollo , yo me referia a lo siguiente:
El usuario quiere consultar el valor Maximo en un intervalo de fechas, supongamos Octubre de 2007
Esta en la Hoja 2
Indica en C2 el 01/10/2007 y en D2 el 31/10/2007

es decir, las potenciales ausencias a las que me referia, eran las posibles en la Tabla de Datos, Hoja 1 y no en la Hoja 2

Digamos que la ausencia del extremo final seria resoluble cambiando COINCIDIR con 0 a COINCIDIR con 1, pero por ahora no se me ocurre como resolber la ausencia del 01/10/07
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Re: Consulta

Notapor galileogali » 29 Mar 2008 11:14

Esta salida poco elegante, iniciando la Tabla en Hoja1 con fecha 0, ordenada ascendente y celdas vacias:
=MAX(INDICE(Hoja1!B2:B165;COINCIDIR(BUSCAR(C2;Hoja1!A2:A165;Hoja1!A3:A166);Hoja1!A2:A165;0)):INDICE(Hoja1!B2:B165;COINCIDIR(D2;Hoja1!A2:A165;1)))
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Re: Consulta

Notapor galileogali » 29 Mar 2008 11:18

y sin agregar 0, sino tomando arranque de columna en los encabezamientos....

=MAX(INDICE(Hoja1!B2:B164;COINCIDIR(BUSCAR(C2;N(Hoja1!A1:A164);Hoja1!A2:A165);Hoja1!A2:A164;0)):INDICE(Hoja1!B2:B164;COINCIDIR(D2;Hoja1!A2:A164;1)))
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Re: Consulta

Notapor galileogali » 29 Mar 2008 13:26

Esta ultima adaptacion, ver archivo....
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Siguiente

Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Bases de Datos y Tablas Dinámicas

¿Quién está conectado?

Usuarios navegando por este Foro: phoenix76 y 1 invitado