Tabla de rango variable |
Responder |
Autor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gladiador
Asiduo Unido: 22/Junio/2006 Localización: Venezuela Estado: Sin conexión Puntos: 220 |
Tema: Tabla de rango variable Enviado: 24/Abril/2021 a las 21:39 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola amigos, deseo una ayuda sobre este punto.
Tengo un hoja donde anoto, día día, los pagos realizados por los propietarios de un edificio de apartamentos En una tabla, aparte, extraigo las fechas en que han pagado sus cuotas. Este rango donde se extraen los datos tiene 100 filas or 8 columnas. En todas las celdas de ese rango tango una función Si.Error en donde el resultado será "" en caso que no haya datos. Quisiera construir una tabla, cuyo rango varíe de acuerdo al número de datos que haya para cada apartamento. El número de columnas se mantendría fijo, no así el número de filas
He probado la función La cual acepta, cuando la introduzco, pero no se queda fijo el tamaño del rango Probé también la función =INDIRECTO("D"&CONTAR($A$4:$A$100)) Pero tampoco tuve suerte Intenté la siguiente macro y nada ActiveSheet.ListObjects("Table1").Resize Range("ResizeTable") El rango ResizeTable tiene la función Me gustaría hacer esto sin utilizar macro, pero si no hay otra solución, ni modo Cualquier ayuda será bien recibida Gracias |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5970 |
Enviado: 25/Abril/2021 a las 12:43 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parece trabajo para una Tabla dinámica.
Puedes ver el/los apartamento/s que quieras, del periodo de tiempo que quieras.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lbauluz
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 29/Marzo/2005 Localización: La Gloria Estado: Sin conexión Puntos: 3849 |
Enviado: 26/Abril/2021 a las 10:25 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Una opción un poco retorcida
Supongo que los datos están en la columna B para este ejemplo En una celda que no uses, por ejemplo D1 pones =MAX(IF(B:B<>"";ROW(B:B))) (En español creo que sería =MAX(SI(B:B<>"";FILA(B:B))) ) Con esto tienes en esa celda el número de filas que hay. Reemplaza en tu fórmula para que tome ese valor al hacer los cálculos. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
El Búho es un pajarraco
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5970 |
Enviado: 26/Abril/2021 a las 14:18 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
También se puede hacer con un 'Nombre definido' (más 'limpio' y descriptivo) o con Filtro avanzado, aunque para el ejemplo aportado; yo prefiero la TD. Siempre dependerá de cuan diferente sea el ejemplo aportado comparado con el informe real que necesita (suele diferir bastante). De todos modos; parece poco preocupado por su consulta. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gladiador
Asiduo Unido: 22/Junio/2006 Localización: Venezuela Estado: Sin conexión Puntos: 220 |
Enviado: 06/Mayo/2021 a las 02:55 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola amigos, estuve intentando vario métodos, sin ningún resultado satisfactorio por lo que debí ingresar un código VBA el cual anexo
If Target.Address = "$AB$6" Then ActiveSheet.ListObjects("Table1").Resize Range("ResizeTable") En donde el rango ResizeTable es dinámico definido así: =OFFSET($A$10;0;0;COUNT($A$10:$A$100)+1;3) Por mi parte se puede cerrar el hilo
Gracias a todos |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |