Ahorrar columnas con fórmulas matriciales

Cualquier otro tipo de consultas sobre la Hoja de Cálculos 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:
     

Ahorrar columnas con fórmulas matriciales

Notapor jososem » 10 Ene 2012 05:56

Buenas! Soy nuevo en esto. En primer lugar, GRACIAS!
Quiero realizar, a ser posible, con una sola fórmula matricial una operación que realizo en varios pasos con fórmulas sencillas.
Lo intento y me dice que la fórmula contiene un error. Soy novato en el uso de matriciales y no sé dónde está el error. Esto es lo que intento poner:
=suma((BUSCARV(DIASEM(indice($D$19:$D$749;coincidir($D4;$D$19:$D$749;0));2);$I$19:
$K$25;3;FALSO)*1,08):(BUSCARV(DIASEM(indice($D$19:$D$749;coincidir($D4;$D$19:$D$749;0));2);
$I$19:$K$25;3;FALSO)*1,08))

(He cortado el chorizo porque en la visualización previa no lo veía entero... ;-) )

La idea del excel es calcular el importe de una estancia en hotel. Para ello tengo un rango con fechas de unos dos años (D19:D749) y una tarifa muy sencilla según día de la semana (I19:K25), un día de entrada y un día de salida de la estancia en el hotel.
La idea que tengo es que la matricial "levante" una tabla virtual desde el día de entrada hasta uno antes del de salida y para cada registro de esa tabla mire el día de la semana que es, consulte en el rango de la tarifa el precio de la noche, le añada el 8% de IVA multiplicando por 1,08 y, finalmente, que sume los importes calculados de cada registro.
Adjunto un ejemplo porque no sé explicarlo mejor.
De nuevo, gracias por la ayuda!
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
jososem
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Abr 2010 07:45

Re: Ahorrar columnas con fórmulas matriciales

Notapor Toldeman » 10 Ene 2012 09:54

Hola.

No entiendo muy bien el resultado que quieres obtener,pero puedes probar esta formula para obtener el valor correspondiente al día de la semana que buscas:

Código: Seleccionar todo
=BUSCARV(IZQUIERDA(TEXTO(D4;"dddd");1);$J$19:$K$25;2;0)


Este ejemplo es para el 15/01/2012, haber si te puede servir de ayuda.

Un saludo.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Toldeman
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Oct 2010 01:41

Re: Ahorrar columnas con fórmulas matriciales

Notapor jososem » 10 Ene 2012 14:17

Gracias por ayudar Toldeman!
En las celdas G4:G6 están los mismos resultados que busco usando una matricial más sencilla.
Lo que quiero es usar una matricial más compleja en K4:K6 para evitar poner los datos que hay en las columnas C, D y F en las filas 16 en adelante.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
jososem
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Abr 2010 07:45

Re: Ahorrar columnas con fórmulas matriciales

Notapor Toldeman » 10 Ene 2012 17:09

Hola.

No entiendo porque no quieres usar las columnas que tienes, si te molestan en la hoja que tienes porque no haces referencia a ellas en otra hoja?.

Puedes usar esta formula no matricial:

Código: Seleccionar todo
=SUMAPRODUCTO((INDICE($D$19:$F$45;COINCIDIR(D4;$D$19:$D$45;0);3)):(INDICE($D$19:$F$45;COINCIDIR(E4-1;$D$19:$D$45;0);3)))*1,08


Un saludo.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Toldeman
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Oct 2010 01:41

Re: Ahorrar columnas con fórmulas matriciales

Notapor sailepaty » 10 Ene 2012 17:30

Intenta así,

=SUMA(SI(DIASEM(D41-1+FILA(INDIRECTO("1:"&(E4-D4)));2)<5;69;49))*1,08

Matricial confirmar con Ctrl+Shift+Enter

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: Ahorrar columnas con fórmulas matriciales

Notapor jososem » 11 Ene 2012 07:03

Toldeman, muchas gracias! quería no tener que poner las columnas ;-) aprender a hacer las cosas más sencillas... ;-)

sailepaty, eres un hacha! es casi lo que buscaba. Desde luego, problema resuelto. Quería que la matricial buscara la tarifa en una tabla para poder usarla con tarifas más complejas, pero está genial!

Problema resuelto! :lol: :lol:
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
jososem
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Abr 2010 07:45

Re: Ahorrar columnas con fórmulas matriciales

Notapor sailepaty » 11 Ene 2012 12:46

jososem escribió:Quería que la matricial buscara la tarifa en una tabla para poder usarla con tarifas más complejas


En ese caso intenta con esta.

=SUMAPRODUCTO(SUMAR.SI($I$19:$I$25;DIASEM(D4-1+FILA(INDIRECTO("1:"&F4));2);$K$19:$K$25))*1,08


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: Ahorrar columnas con fórmulas matriciales

Notapor jososem » 11 Ene 2012 13:01

sailepaty escribió:En ese caso intenta con esta.

=SUMAPRODUCTO(SUMAR.SI($I$19:$I$25;DIASEM(D4-1+FILA(INDIRECTO("1:"&F4));2);$K$19:$K$25))*1,08


sailepaty, you got it! ;-P Mil gracias!
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
jososem
Miembro Frecuente
Miembro Frecuente
 
Registrado: 21 Abr 2010 07:45


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Otras Consultas

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados