[RESUELTO]¿Es posible "construir" una matriz?

Discute sobre la aplicación de hojas de cálculo
Responder
calimero
Mensajes: 10
Registrado: Mié Oct 03, 2012 10:21 am

[RESUELTO]¿Es posible "construir" una matriz?

Mensaje por calimero »

Hola,

estoy intentando construir una función que recibe como parámetro un rango de celdas (concretamente una matrix de 1columna x 2filas)...

Me gustaría que el elemento de la primera fila fuera una celda fija (por ejemplo $B$7) y el elemento de la segunda fila fuera variando (es decir, empezar en $B8 y posteriormente varias $B9, $B10) conforme "arrastro" dicha fórmula hacia abajo... es decir, en lugar de la fórmula:
=DSUM(FACTURAS.$D$10:$F$107;1;$B$10:$B11)

intento editar la fórmula de la siguiente forma
=DSUM(FACTURAS.$D$10:$F$107;1{$B$10|$B11})

pero al pulsar "enter" me cambia el '|' por un ';' y obtengo el error Err:512

Saludos
Última edición por calimero el Jue Oct 11, 2012 10:27 am, editado 1 vez en total.
OpenOffice.org 3.2.1
OOO320m19 (Build:9505)
ooo-build 3.2.1.4, Ubuntu package 1:3.2.1-7ubuntu1.1
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: ¿Es posible "construir" una matriz a partir de celdas?

Mensaje por SLV-es »

Hola

Hasta donde yo conozco, se admite "una fórmula matricial", no "un rango de celdas matricial dentro de la fórmula". Por lo tanto, lo que pretendes no es posible.

Para crear una fórmula matricial no hay que escribir las { }; se pulsa Ctrl + Intro al finalizar la edición para que Calc convierta la fórmula en matricial.

Si lo que pretendes es que al arrastrar $B8 se convierta en $B9, lo que tienes que hacer es convertir la referencia mixta en relativa, o lo que es lo mismo, quitar el $.

Saludos
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
calimero
Mensajes: 10
Registrado: Mié Oct 03, 2012 10:21 am

Re: ¿Es posible "construir" una matriz a partir de celdas?

Mensaje por calimero »

Hola,

gracias... no soy experto ni mucho menos, pero creo que no es un problema de referencia mixta/relativa.

Quiero hacer lo siguiente:
1.- En la celda H11 tengo la siguiente fórmula:
=DSUM(FACTURAS.$D$10:$F$107;1;$B10:$B11)
esta se calcula correctamente.
2.- Ahora lo que querría es arrastrar esa fórmula de H11 hacia abajo, de forma que para cada nueva fila de la columna H me calculara la misma función, pero el último parámetro de la función DSUM debe ser siembre una matrix de 2 filas por una columna, donde la primera fila siembre es B10... y la segunda es B11 para H11, B12 para H12, etc...

¿Alguna sugerencia?
OpenOffice.org 3.2.1
OOO320m19 (Build:9505)
ooo-build 3.2.1.4, Ubuntu package 1:3.2.1-7ubuntu1.1
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: ¿Es posible "construir" una matriz a partir de celdas?

Mensaje por SLV-es »

Si el documento no contiene información personal (ten en cuenta que este foro es público), prueba a adjuntar una copia del mismo a este tema.
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
calimero
Mensajes: 10
Registrado: Mié Oct 03, 2012 10:21 am

Re: ¿Es posible "construir" una matriz a partir de celdas?

Mensaje por calimero »

Hola,

mira, te paso un pequeño ejemplo... es lo que quiero hacer pero quitando todos los datos reales.

Tengo una hoja donde meto los datos de expedientes de contratación que tramitamos en mi empresa. Todas las celdas de cada fila se introducen manualmente, excepto la columna "FACTURADO", que es donde tengo el problema.

La segunda hoja del libro es donde meto los datos correspondientes a las facturas que voy recibiendo, todas las celdas de cada fila se introducen manualmente excepto la columna "EXPEDIENTE", que es una lista desplegable para seleccionar uno de los valores de la hoja "EXPEDIENTES".

Ahora, para realizar un control de lo que llevo facturado por cada expediente, en la hoja "EXPEDIENTES" he insertado la columna "FACURADO". En esa columna intento sumar (utilizando BDSUMA, una vez que resolví unos problemas también a través de este foro GRACIAS ;-) el importe de cada una de las facturas recibidas del expediente en cuestión. La función para la primera columna no tengo problemas en calcularla (esta en rojo)... pero cuando intento arrastras hacia abajo es cuando no se cómo enviarle la matrix 2filas x1columa formada por la celda A1 (siembre) y A(x), donde (x) es el número de fila...

Saludos
Adjuntos
ejemplo.ods
(8.93 KiB) Descargado 139 veces
OpenOffice.org 3.2.1
OOO320m19 (Build:9505)
ooo-build 3.2.1.4, Ubuntu package 1:3.2.1-7ubuntu1.1
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: ¿Es posible "construir" una matriz a partir de celdas?

Mensaje por SLV-es »

Hola

He examinado tu documento, y es un problema que se soluciona utilizando referencias absolutas y mixtas.

En la celda D2 de la hoja EXPEDIENTES debes poner la fórmula =BDSUMA(FACTURAS.$A$1:$E$20;4;$A$1:$A2)
De esta forma, al arrastrar la fórmula a D3, D4... obtienes =BDSUMA(FACTURAS.$A$1:$E$20;4;$A$1:$A3), =BDSUMA(FACTURAS.$A$1:$E$20;4;$A$1:$A4)

$A$1 es una referencia absoluta
$A2 es una referencia mixta

Saludos
Adjuntos
ejemplo.ods
(9.64 KiB) Descargado 128 veces
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
calimero
Mensajes: 10
Registrado: Mié Oct 03, 2012 10:21 am

Re: ¿Es posible "construir" una matriz a partir de celdas?

Mensaje por calimero »

Hola,

gracias por tu respuesta, pero eso no me funciona... ya que al pasar de la primera fila $A$1:$A2 a $A$1:$A3 en la segunda... paso de tener un rango de celdas de 2filas x 1columna (A1, A2) a un rango de 3filas x 1columna (A1, A2, A3)... con lo que la función BDSUMA no me calcula la suma que necesito.

Saludos,

M.A.
OpenOffice.org 3.2.1
OOO320m19 (Build:9505)
ooo-build 3.2.1.4, Ubuntu package 1:3.2.1-7ubuntu1.1
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: ¿Es posible "construir" una matriz a partir de celdas?

Mensaje por SLV-es »

calimero escribió:La función para la primera columna no tengo problemas en calcularla (esta en rojo)... pero cuando intento arrastras hacia abajo es cuando no se cómo enviarle la matrix 2filas x1columa formada por la celda A1 (siembre) y A(x), donde (x) es el número de fila...
¿No era eso lo que pedías? Si te entendí mal, intenta explicarlo de otra forma, a ver si podemos solucionarlo.

Saludos
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
calimero
Mensajes: 10
Registrado: Mié Oct 03, 2012 10:21 am

Re: ¿Es posible "construir" una matriz a partir de celdas?

Mensaje por calimero »

En el ejemplo que has puesto tú, corrigiendo el que envié yo, verás que la fórmula que utiliza la combinación de referencias que propones causa lo siguiente:
.- En EXPEDIENTES.D2 pasa en el tercer parámetro de DSUM el rango de filas A1:A2 (quito los dóalres)... con lo que tendría la suma de facturas para el expediente "XY(AB)-4"
.- Al arrastrar la fórmula que propones, en EXPEDIENTES.D3 pasa en el tercer parámetro de DSUM el rango de filas A1:A3 (quito los dólares)... con lo que tendría la suma de facturas para los expedientes "XY(AB)-4" Y "139084".

Lo que necesito es que, al arrastrar la fórmula de EXPEDIENTES.D2 hacia abajo, en EXPEDIENTES.D3 pase en el tercer parámetro de DSUM un rango de DOS FILAS y UNA COLUMNA con los valores de A1 y A3 (SIN A2)... de esta forma DSUM me dará el montante total de lo facturado SOLO PARA EL EXPEDIENTE !139084".

El objetivo final es que, para cada fila de la hoja EXPEDIENTES, comparar el valor de la columna C (el importe por el que se contrató) con la suma de las facturas recibidas hasta la fecha... para ver que no me facturan más de lo contratado, o tener avisos si se acerca el cierre del ejercicio y no he facturado todo lo contratado.

Muchísmas gracias por tu interés.
OpenOffice.org 3.2.1
OOO320m19 (Build:9505)
ooo-build 3.2.1.4, Ubuntu package 1:3.2.1-7ubuntu1.1
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: ¿Es posible "construir" una matriz a partir de celdas?

Mensaje por SLV-es »

A ver si esta vez lo he entendido :D

Lo que quieres es sumar todas las facturas emitidas al expediente NNNNN, para controlar que no te han facturado de más.

Esto lo puedes hacer con SUMAR.SI en lugar de con DBSUMA, y si quieres que te pinte de color especial las celdas que sobrepasan el importe del expediente, utilizando FORMATO CONDICIONAL

Te adjunto un nuevo ejemplo, con dos nuevas columnas (elige la que prefieras) y la anterior (con mi interpretación erronea).

Saludos
Adjuntos
ejemplo.ods
(11.81 KiB) Descargado 153 veces
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
calimero
Mensajes: 10
Registrado: Mié Oct 03, 2012 10:21 am

Re: ¿Es posible "construir" una matriz a partir de celdas?

Mensaje por calimero »

¡Muchas gracias!

Pues tienes toda la razón... en realidad, había dejado de lado el uso de SUMAR.SI porque inicialmente no me funcionaba... pero el error que tenía en SUMAR.SI era el mismo que tenía en otro post sobre BDSUMA y los paréntesis en cadenas de texto... cuando se solucionó dicho error, no me acordé de volver al uso inicial de SUMAR.SI.

¡Gracias otra vez!
OpenOffice.org 3.2.1
OOO320m19 (Build:9505)
ooo-build 3.2.1.4, Ubuntu package 1:3.2.1-7ubuntu1.1
Responder