Esta duda se ha venido acrecentando en el foro de ayuda de editores de documentos, en particular yo lo tengo detectado en estos hilos
https://support.google.com/docs/thread/7021946?msgid=7095170
https://support.google.com/docs/thread/99825894?msgid=99938395
https://support.google.com/docs/thread/72259169?msgid=72341443
https://support.google.com/docs/thread/70999974?msgid=73305284
siendo este https://support.google.com/docs/thread/99825894?msgid=99938395 el mas reciente de hace 4 días a la fecha que escribo este artículo , si bien ofrecí en su momento el código para crear la función personalizada
y ofrecí la forma de uso para aquellos que no están muy familiarizados con las funciones personalizadas:
=sumaRangosIguales("D3:D12")
la idea es crear una función extra que nos permita excluir la hoja misma donde se implementa la función de suma de rangos, cabe aclarar que la función esta disponible para ser copiada al final de este articulo.
por ello he estado escribiendo y probando nuevo código que muy pronto presentare en este sitio para que puedan tener una versión más flexible.
comparte este articulo o el video , si te fueron de utilidad 😊
si el tema fue de utilidad comparte este articulo con otras personas, nos ayudarías mucho haciendo difusión de estas propuestas 😉
function sumaRangosIguales(rango){
var cont = 0;
var ss = SpreadsheetApp.getActive();
var hojas = ss.getSheets();
var datos =[];
for(var i=0;i<hojas.length;i++){
datos.push(hojas[i].getRange(rango).getValues());
}
datos = datos.join(",").split(",");
//sumar los datos;
datos.forEach(function(x){
cont += Number(x);
});
return cont;
}
/**
* Suma de rangos iguales en HCG,
* suma los valores de cada rango por hoja,
* excluyendo la hoja que se especifique
* en el segundo argumento.
* NOTA:si el segundo argumento se omite, inlcuirá todas las hojas
* @param {"A1:A20"} rango Obligatorio cadena de txt o string alusivo al rango a sumar .
* @param {"Hoja 5"} nhoja Opcional - nombre de la hoja a exlcuir en el calculo
* @customfunction
*/
// formula en celda =sumaRngHojas("D3:D12","Hoja 5")
function sumaRngHojas(rango, nhoja){
var total = 0;
var ss = SpreadsheetApp.getActive();
var hojas = ss.getSheets();
var datos =[];
for(var i=0;i<hojas.length;i++){
if(hojas[i].getName() != nhoja){
datos.push(hojas[i].getRange(rango).getValues());
}
}
//convertir a matriz unidimensional
datos = datos.join(",").split(",");
//sumar los datos;
datos.forEach(function(x){
total += Number(x);
});
return total;
}
Síguenos y suscríbete en: