Hola a todos!
Cuando queremos consolidar o agrupar la información de varias tablas en una única tabla y estamos trabajando con typescript, un forma de conseguir nuestro objetivo es mediante código.
Os expondré un ejemplo, estos son los datos de tres hojas, cada una de ellas en una hoja:
Datos de la hoja1:

Datos de la hoja2:

Datos de la hoja3:

Y para consolidar la información vamos a utilizar el siguiente código incluyendo una nueva hoja denominada «CONSOLIDADO»:. Os comparto el código con los comentarios por cada línea:
function main(workbook: ExcelScript.Workbook) {
//Seleccionamos hoja CONSOLIDADO
var miHoja = workbook.getWorksheet('CONSOLIDADO');
// Si la tabla se llama tablaN y existe una tabla en la hoja consolidado
if (miHoja.getTables()[0] !== undefined && miHoja.getTables()[0].getName()=="tablaN") {
var tbla = miHoja.getTables()[0];
// eliminamos la tablaN limpiando resultados anteriores
tbla.delete();
}
// Obtenemos todas las tablas
var tables = workbook.getTables();
//Obtenemos texto de los encabezados
var encabezados = tables[0].getHeaderRowRange().getTexts();
//igualamaos rango a matriz de encabezados
miHoja.getRange("A1:H1").setValues([encabezados][0]);
//creamos tabla en el rango establecido y renombramos tabla
var miTabla = workbook.addTable(miHoja.getRange("A1:H1"), true);
miTabla.setName("tablaN");
//vamos añadiendo las filas de cada tabla a la tabla final
for (var ntabla of tables) {
var valores = ntabla.getRangeBetweenHeaderAndTotal().getTexts();
var fin = ntabla.getRowCount();
if (fin > 0) {
miTabla.addRows(-1, valores);
}
}
}
Una vez ejecutamos el proceso obtendremos los datos consolidados en una única tabla:

Y esto es todo, espero que os sea de utilidad en vuestros procesos y rutinas.
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies