Buscar en varias filas y concatenar en una celda

Discute sobre la aplicación de hojas de cálculo
Responder
droplon
Mensajes: 80
Registrado: Mié May 04, 2011 12:44 pm
Ubicación: Posadas, Misiones

Buscar en varias filas y concatenar en una celda

Mensaje por droplon »

Hola Amigos!!
El otro día estuve haciendo una consulta respecto a una fórmula de intereses y me ayudaron muchísimo. Aún sigo probando....

En esta oportunidad necesito de su ayuda para resolver algo que a lo mejor es sencillo, pero no lo se resolver.

Les pongo en contexto. Estoy haciendo una planilla para gestionar alquileres y en una hora llamada "LIQUIDACIONES" con solo elegir el nombre del inquilino desde una desplegable y seleccionar el mes de las expensas a liquidar, me trae toooooda la información y los totales del mes que estoy cerrando.

El problema es cuando en un mismo mes el inquilino me paga dos meses juntos, por ejemplo Octubre y Noviembre. Me gustaría que en el detalle, aparezca la leyenda Alquiler mes de: "el o los meses que paga"

Imagen

Por ejemplo en la imagen adjunta, estoy trabajando en la hoja "LIQUIDACIONES" donde selecciono el nombre de un inquilino y el período de expensas de Septiembre 2021
Quisiera que en C22, me traiga como resultado el contenido de la hoja "INICIO" Celdas U143+U144 para que el resultado visible sea lo más parecido a la siguiente imagen
Imagen




No se como podría resolver esta situación ya que debe buscar todas celdas que coincidan con el criterio de búsqueda "Inquilino"+"período de alquiler" y traerme de manera concatenada en una misma celda el resulta.
Desde ya muchas gracias!
Office 4.3.7.2
OpenSuse 13.1
Escritorio KD4
Neftali R
Mensajes: 169
Registrado: Mar Jun 15, 2021 12:48 pm
Ubicación: Venezuela

Re: Buscar en varias filas y concatenar en una celda

Mensaje por Neftali R »

Resolver esa consulta solo con imágenes es imposible, no sé la estructura que hay en la hoja “INICIO”, no sé cómo son las formulas que filtran la combinación de “inquilino” + “periodo de alquiler”, no sé cómo debería la formula saber sí se pagaron dos meses juntos en lugar de solo uno, hay muchos huecos que hacen necesitan ser llenados para poder dar una respuesta satisfactoria.

Yo te recomendaría eliminar toda la información confidencial y subir una copia del archivo, dando un ejemplo o más del resultado que te gustaría ver en el archivo en base a los datos existentes en el archivo.
LibreOffice 7.2.6.2 | Windows 7 Ultimate
droplon
Mensajes: 80
Registrado: Mié May 04, 2011 12:44 pm
Ubicación: Posadas, Misiones

Re: Buscar en varias filas y concatenar en una celda

Mensaje por droplon »

Neftali R escribió:Resolver esa consulta solo con imágenes es imposible, no sé la estructura que hay en la hoja “INICIO”, no sé cómo son las formulas que filtran la combinación de “inquilino” + “periodo de alquiler”, no sé cómo debería la formula saber sí se pagaron dos meses juntos en lugar de solo uno, hay muchos huecos que hacen necesitan ser llenados para poder dar una respuesta satisfactoria.

Yo te recomendaría eliminar toda la información confidencial y subir una copia del archivo, dando un ejemplo o más del resultado que te gustaría ver en el archivo en base a los datos existentes en el archivo.
Dale, lo hago y comparto la info siguiendo tu sugerencia
Office 4.3.7.2
OpenSuse 13.1
Escritorio KD4
droplon
Mensajes: 80
Registrado: Mié May 04, 2011 12:44 pm
Ubicación: Posadas, Misiones

Re: Buscar en varias filas y concatenar en una celda

Mensaje por droplon »

Neftali R escribió:Resolver esa consulta solo con imágenes es imposible, no sé la estructura que hay en la hoja “INICIO”, no sé cómo son las formulas que filtran la combinación de “inquilino” + “periodo de alquiler”, no sé cómo debería la formula saber sí se pagaron dos meses juntos en lugar de solo uno, hay muchos huecos que hacen necesitan ser llenados para poder dar una respuesta satisfactoria.

Yo te recomendaría eliminar toda la información confidencial y subir una copia del archivo, dando un ejemplo o más del resultado que te gustaría ver en el archivo en base a los datos existentes en el archivo.

Tal como lo comentaste, edité el archivo quitando o modificando la información sensible.

La idea, es poder lograr que en la hoja "LIQUIDACIONES" obtenga con solo 2 clicks, el resumen del mes a liquidar/cobrar a cada inquilino.
En una versión anterior, donde tenía una hoja por cada mes, lo podía hacer porque con la fórmula BuscarV + Concatenar, pero ahora no se como resolverlo.
Es una gran ventaja poder tener todos los registros históricos uno debajo de otro (como en la hoja "INICIO") pero si en el mes de Oct/21 cobro el alquiler de Octubre/21 + Noviembre/21, ya no sé como hacer para que en la hoja "LIQUIDACIONES" en el "detalle Alquiler del mes:" me aparezcan ambos meses detallados. Y lo mismo para el caso de "otros Gastos" y demás detalles..


Espero me puedas entender
PD: dejo el link de descarga del Archivo adjunto porque al pesar más de 128KB no permite adjuntarlo en el post https://drive.google.com/file/d/13Ux-dU ... sp=sharing

Muchas gracias
Office 4.3.7.2
OpenSuse 13.1
Escritorio KD4
Neftali R
Mensajes: 169
Registrado: Mar Jun 15, 2021 12:48 pm
Ubicación: Venezuela

Re: Buscar en varias filas y concatenar en una celda

Mensaje por Neftali R »

Ya formulé todo lo que pediste. Me hubiera gustado hacer todos los cálculos desde la misma hoja con SUMAR.PRODUCTO, pero no encontré una manera de usar K.ESIMO.MENOR junto con SUMAR.PRODUCTO, entonces, además de las nuevas formulas en la hoja "LIQUIDACIONES", también hay un par de columnas nuevas en la hola "INICIO", en la parte derecha, esas nuevas columnas son necesarias para que algunas de las formulas nuevas en la hoja "LIQUIDACIONES" puedan funcionar.

Elimine toda la información que no me compete para poder subir el archivo al foro directamente, simplemente copia las formulas y pégalas en tu archivo original, eso no debería provocar ningún problema.
Adjuntos
SISTEMA DE GESTIÓN - alquileres.ods
(116.98 KiB) Descargado 112 veces
LibreOffice 7.2.6.2 | Windows 7 Ultimate
droplon
Mensajes: 80
Registrado: Mié May 04, 2011 12:44 pm
Ubicación: Posadas, Misiones

Re: Buscar en varias filas y concatenar en una celda

Mensaje por droplon »

Hola estimado!!!
Primero que nada muchas gracias por tu respuesta. UN GROSO!!! Esas fórmulas jamás las había visto!!!
Estoy aprendiendo cosas nuevas y eso me encanta.. Solo tengo que mejorar mi expresión para poder transmitir la idea correcta.

Lamentablemente no me expresé bien sobre como era la liquidación y como funcionaba la hoja "LIQUIDACIONES".

En la sección Expensas, el período que se liquida siempre es anterior al mes que se está pagando el alquiler.
Ej: Suponiendo que hoy sea 1/Dic/2021, en la celda C17, el período de expensas a liquidar será "Noviembre 2021" y más abajo en el detalle, el alquiler será Diciembre + los meses que pague adelantado (xj: Diciembre 2021 + Enero 2021)

Por lo tanto cuando en C17 (expensas), el período a liquidar, siempre será anterior al mes en que esté pagando el alquiler.

La consulta que me surge al ver la sintaxis en tu fórmula es la siguiente:
=TEXTO(INDIRECTO(DIRECCION(K.ESIMO.MENOR($INICIO.BP5:BP1001;1);COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA")&" "&SI.ERROR(TEXTO(INDIRECTO(DIRECCION(K.ESIMO.MENOR($INICIO.BP5:BP1001;2);COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA");"")&" "&SI.ERROR(TEXTO(INDIRECTO(DIRECCION(K.ESIMO.MENOR($INICIO.BP5:BP1001;3);COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA");"")
Cuando en la fórmula se referencia a ($INICIO.U143).... Porqué es U143???? cuando copio la fórmula a mi planilla, como debo trasladar esa referencia??
$INICIO.U143 es el mes del alquiler que está pagando, pero cuando en la hoja de liquidaciones cambio el período de expensas o el nombre del inquilino, la fórmula no funciona.

La lógica de la hoja "LIQUIDACIONES" sería:
Cuando en LIQUIDACIONES.C17, el período a liquidar indicado es Octubre 2021, debo buscar en la hoja INICIO, todos los meses de alquiler del Inquilino que coincida con con el nombre del inquilino indicado en "LIQUIDACIONES.D10" y cuyo mes de pago (indicado en la columna A en la hoja de INICIO) sea Noviembre 2021, o sea el mes siguiente al de las Expensas liquidadas (indicadas en LIQUIDACIONES.C17)
Office 4.3.7.2
OpenSuse 13.1
Escritorio KD4
Neftali R
Mensajes: 169
Registrado: Mar Jun 15, 2021 12:48 pm
Ubicación: Venezuela

Re: Buscar en varias filas y concatenar en una celda

Mensaje por Neftali R »

En

Código: Seleccionar todo

Columna($INICIO.U143)
No hay razón para que sea $Inicio.U143, lo importante es la columna, podría ser U143, LIQUIDACIONES.U1, INICIO.U1000.
Lo importante es que sea en la columna U, para que la formula DIRECCION pueda obtejer la columna donde está la información que necesitas.
Esa formula ya la había provado con varios periodos y clientes, en el archivo de ejemplo, habían algunos nombres y/o meses sin información, entonces da error, pero no es en todos, revisa esos inquilinos y periodos en los que hay error y sí efectivamente hay información en la hoja INICO y el formula no los está obteniendo, me indicas para tratar de resolverlo.

Y ya encontré una manera de usar K.ESOMI.MENOR directamente dentro de SUMAR.PRODUCTO, ya te lo dejaré en el próximo archivo con las correcciones que necesitas.
LibreOffice 7.2.6.2 | Windows 7 Ultimate
droplon
Mensajes: 80
Registrado: Mié May 04, 2011 12:44 pm
Ubicación: Posadas, Misiones

Re: Buscar en varias filas y concatenar en una celda

Mensaje por droplon »

Ah, comprendo!
revisa esos inquilinos y periodos en los que hay error y sí efectivamente hay información en la hoja INICO y el formula no los está obteniendo, me indicas para tratar de resolverlo.
Efectivamente, hay celdas con información y no lo está trayendo.
Mira, me voy a centrar únicamente en"LIQUIDACIONES.C22". En el detalle donde deben aparece los meses que el inquilino está pagando o que debe pagar.

Imagen


He cargado la fórmula respetando la referencia $INICIO.U143 y también la modifiqué a $INICIO.U1 (solo para probar jeje) pero el resultado es el mismo. Me arroja un error #¡VALOR!.
Como puedes ver, el Inquilino seleccionado es el Inquilino 12 y las expensas que estoy liquidando son las del mes de "Septiembre 2021"
Por lo tanto en C22, y según lo que está cargado en la Hoja INICIO, debería aparecer la información: octubre 2021 + noviembre 2021

Mira la siguiente imagen de la hoja INICIO para comprobar que efectivamente hay información para el Inquilino 12
Imagen



Como las expensas siempre son de mes vencido, en este ejemplo, el Inquilino 12 está ingresando el mes de octubre 2021, y está pagando el mes de alquiler de Octubre 2021 y Noviembre 2021. Como no le corresponde pagar las expensas de Septiembre, en el apartado expensas, el importe es $0,00 pero en el detalle C22 debe aparecer Octubre 2021 + Noviembre 2021


Lo que estoy viendo como un error, es que la formula está trayendo como mes de alquiler, el mismo mes de las expensas, es por eso que cuando trabajo con el inquilino 12, da error al liquidar las expensas de Septiembre! Se produce el error, porque la inquilina 12 no pago ningun alquiler por el mes de septiembre..
Mira la imagen.... si pongo expensas de Diciembre 2021, aparece en el detalle alquiler, Diciembre 2021
Imagen

Si pongo en expensas, enero 2022, en el detalle de alquiler aparece enero 2022
Imagen
Office 4.3.7.2
OpenSuse 13.1
Escritorio KD4
Neftali R
Mensajes: 169
Registrado: Mar Jun 15, 2021 12:48 pm
Ubicación: Venezuela

Re: Buscar en varias filas y concatenar en una celda

Mensaje por Neftali R »

Ese error en la formula es porque los parámetros que está tomando para hacer la búsqueda no son correctos, la formula perse sí funciona correctamente.

La verdad me da flojera volver a subir el archivo, te dejo las formulas aquí, hay 3 versiones de cada formula, una versión que toma en cuenta la columna auxiliar en la hoja "INICIO", otra que no toma en cuenta esa columna auxiliar y utiliza K.ESIMO.MENOR (la más innecesariamente larga y complicada), y otra que no toma en cuenta la columna auxiliar y utiliza K.ESIMO.MAYOR.

No te asustes con las formulas que vienen a continuación, no son tan complicadas cómo se ven a simple vista, sí quieres comprender cómo funcionan solo tienes que separar las formulas una por una, para ver sus resultados individuales y ver cómo ese resultado afecta a la siguiente formula. NOTA: Si vas a tratar de comprender cómo funcionan las formulas con ese método, tienes que saber que las formulas que utilizan SUMA.PRODUCTO(K.ESIMO.MAYOR(MENOR)... la función SUMA.PRODUCTO y todo lo que está dentro se toman en cuenta cómo uno solo, esto porque con SUMA.PRODUCTO podemos trabajar con matrices, K.ESIMO.MAYOR(MENOR) perse no se puede trabajar con matrices, entonces el K.ESIMO.MAYOR(MENOR) fuera del SUMA.PRODUCTO no va a dar un resultado correcto.

Para la celda C22 (Alquiler mes de…)
La formula más simple y corta (con columnas auxiliares):

Código: Seleccionar todo

=SI.ERROR(TEXTO(INDIRECTO(DIRECCION(K.ESIMO.MENOR($INICIO.BP5:$INICIO.BP1001;1);COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA");"")&" "&SI.ERROR(TEXTO(INDIRECTO(DIRECCION(K.ESIMO.MENOR($INICIO.BP5:$INICIO.BP1001;2);COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA");"")&" "&SI.ERROR(TEXTO(INDIRECTO(DIRECCION(K.ESIMO.MENOR($INICIO.BP5:$INICIO.BP1001;3);COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA");"")
La más larga, no toma en cuenta la columna auxiliar y utiliza K.ESIMO.MENOR

Código: Seleccionar todo

=SI.ERROR(TEXTO(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001));1));COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA");"")&" "&SI.ERROR(TEXTO(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001));2));COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA");"")&" "&SI.ERROR(TEXTO(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001));3));COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA");"")
La intermedia, no toma en cuenta la columna auxiliar, utiliza K.ESIMO.MAYOR.

Código: Seleccionar todo

=ESPACIOS(SI.ERROR(TEXTO(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001);3));COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA");"")&" "&SI.ERROR(TEXTO(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001);2));COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA");"")&" "&SI.ERROR(TEXTO(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001);1));COLUMNA($INICIO.U143);1;;"INICIO"));"MMMM AAAA");""))
Para la celda D24 (Depósito en Garantía – Cuota:...)
La formula más simple y corta (con columnas auxiliares):

Código: Seleccionar todo

=INDIRECTO(DIRECCION(K.ESIMO.MENOR($INICIO.BP5:BP1001;1);COLUMNA($INICIO.AB143);1;;"INICIO"))&" "&SI.ERROR(INDIRECTO(DIRECCION(K.ESIMO.MENOR($INICIO.BP5:BP1001;2);COLUMNA($INICIO.AB143);1;;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(K.ESIMO.MENOR($INICIO.BP5:BP1001;3);COLUMNA($INICIO.AB143);1;;"INICIO"));"")
La más larga, no toma en cuenta la columna auxiliar y utiliza K.ESIMO.MENOR

Código: Seleccionar todo

=SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001));1));COLUMNA($INICIO.AB143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001));2));COLUMNA($INICIO.AB143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001));3));COLUMNA($INICIO.AB143); ; ;"INICIO"));"")
La intermedia, no toma en cuenta la columna auxiliar, utiliza K.ESIMO.MAYOR.

Código: Seleccionar todo

=ESPACIOS(SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001);3));COLUMNA($INICIO.AB143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001);2));COLUMNA($INICIO.AB143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001);1));COLUMNA($INICIO.AB143); ; ;"INICIO"));""))
Para la celda C27 (Otros Gastos:...)
La formula más simple y corta (con columnas auxiliares):

Código: Seleccionar todo

=SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.BP5:BP1001)*($INICIO.AS5:AS1001<>0);3));COLUMNA(INICIO.$AR$5);;;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.BP5:BP1001)*($INICIO.AS5:AS1001<>0);2));COLUMNA(INICIO.$AR$5);;;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.BP5:BP1001)*($INICIO.AS5:AS1001<>0);1));COLUMNA(INICIO.$AR$5);;;"INICIO"));"")
La más larga, no toma en cuenta la columna auxiliar y utiliza K.ESIMO.MENOR

Código: Seleccionar todo

=SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AS5:AS1001<>0)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AS5:AS1001<>0));1));COLUMNA($INICIO.AR143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AS5:AS1001<>0)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AS5:AS1001<>0));2));COLUMNA($INICIO.AR143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AS5:AS1001<>0)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AS5:AS1001<>0));3));COLUMNA($INICIO.AR143); ; ;"INICIO"));"")
La intermedia, no toma en cuenta la columna auxiliar, utiliza K.ESIMO.MAYOR.

Código: Seleccionar todo

=ESPACIOS(SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AS5:AS1001<>0);3));COLUMNA($INICIO.AR143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AS5:AS1001<>0);2));COLUMNA($INICIO.AR143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AS5:AS1001<>0);1));COLUMNA($INICIO.AR143); ; ;"INICIO"));""))
Para la celda C28 (Bonificaciones:...)
La formula más simple y corta (con columnas auxiliares):

Código: Seleccionar todo

=ESPACIOS(SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.BP5:BP1001)*($INICIO.AU5:AU1001<>0);3));COLUMNA(INICIO.$AT$5);1;;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.BP5:BP1001)*($INICIO.AU5:AU1001<>0);2));COLUMNA(INICIO.$AT$5);2;;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.BP5:BP1001)*($INICIO.AU5:AU1001<>0);1));COLUMNA(INICIO.$AT$5);3;;"INICIO"));""))
La más larga, no toma en cuenta la columna auxiliar y utiliza K.ESIMO.MENOR

Código: Seleccionar todo

=SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AU5:AU1001<>0)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AU5:AU1001<>0));1));COLUMNA($INICIO.AT143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AU5:AU1001<>0)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AU5:AU1001<>0));2));COLUMNA($INICIO.AT143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MENOR(SI(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AU5:AU1001<>0)=0;"";($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AU5:AU1001<>0));3));COLUMNA($INICIO.AT143); ; ;"INICIO"));"")
La intermedia, no toma en cuenta la columna auxiliar, utiliza K.ESIMO.MAYOR.

Código: Seleccionar todo

=ESPACIOS(SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AR5:AR1001<>0);3));COLUMNA($INICIO.AT143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AR5:AR1001<>0);2));COLUMNA($INICIO.AT143); ; ;"INICIO"));"")&" "&SI.ERROR(INDIRECTO(DIRECCION(SUMA.PRODUCTO(K.ESIMO.MAYOR(($INICIO.B5:B1001=D10)*($INICIO.AA5:AA1001=C17)*FILA($INICIO.B5:B1001)*($INICIO.AR5:AR1001<>0);1));COLUMNA($INICIO.AT143); ; ;"INICIO"));""))
Tú eliges cual de las tres versiones de cada formula te combiene más, sí no hay problema con la existencia de una columna auxiliar, la mejor es casi siempre el primero, mucho más ligero para el procesador, si por alguna razón no puedes tener una columna auxiliar, la segunda mejor es la de K.ESIMO.MAYOR, la de K.ESIMO.MENOR la puedes tomar cómo una referencia, pero realmente es innecesariamente complicada (para las personas) y pesada (para el procesador).

Otra cosa, en la columna auxiliar de la hoja "INCIO", la columna BO quedó inutil, y la formula que debes colocar en la columna BP es:

Código: Seleccionar todo

=SI(Y(LIQUIDACIONES.$C$17=AA5;B5=$LIQUIDACIONES.$D$10);FILA();"")
LibreOffice 7.2.6.2 | Windows 7 Ultimate
Responder