Рет қаралды 34
📎Para obtener la suma del mismo rango de todas las hojas. He ideado una fórmula mediante una combinación de Google Spreadsheet Functions List. En este ejemplo el nombre de las hojas tienen el patrón de «Sheet1», «Sheet2» hasta «Sheet100».
💡Propuesta:
=LET(setRange;"A1:A10";
setNameSheet;"Sheet";
SUM(MAP(SEQUENCE(100);LAMBDA(getNumber;
TRANSPOSE(FLATTEN(
IFERROR(INDIRECT(CONCATENATE(setNameSheet;getNumber;"!";setRange));0)
))))))
📚Propuesta detalle:
⭑ La función LET() asigna nombres a los valores para una mayor facilidad a su modificación.
⭑ Asignación «setRange» establecemos el rango a sumar. Debe estar en formato texto por lo cual está entre comillas dobles.
⭑ Asignación «setNameSheet» establecemos el nombre de la hoja. el cual incluirá un índice en el nombre de la hoja a crear para obtener un patrón Sheet1, Sheet2, Sheet... no tiene por qué ser consecutivo.
⭑ Función SUM() obtiene la suma de la matriz creada por LAMBDA().
⭑ Función SEQUENCE() crea una matriz en horizontal de número consecutivos desde el uno hasta el cien. Este equivale a cien hojas.
⭑ Función MAP() obtiene la matriz secuencial de SEQUENCE() y con la función auxiliar LAMBDA() asignamos el nombre «getNumber» para poder trabajar con los valores numéricos.
⭑ Función INDIRECT() obtenemos los valores de cada hoja. Concatenado con CONCATENATE() el nombre de la hoja, índice secuencial, signo de admiración cerrado y rango.
⭑ Función IFERROR() sustituye el error en caso de no existir la hoja por el valor cero.
⭑ Función FLATTEN() modifica la matriz en una única columna y a su vez la función TRANSPOSE() en una única fila. El motivo en este caso la función MAP() solo admite una fila si el rango es de varias filas y columnas.
💾Hoja de cálculo de Google:
docs.google.co...
📚Web:
sites.google.c...
📚Referencias:
LET(): Esta función asigna un nombre con los resultados de value_expression y devuelve el resultado de formula_expression:
support.google...
SUM(): Devuelve la suma de una serie de números y/o celdas:
support.google...
MAP(): Esta función asigna cada valor de las matrices dadas a un nuevo valor mediante la aplicación de una función LAMBDA a cada valor:
support.google...
SEQUENCE(): La función devuelve una matriz de números secuenciales, como 1, 2, 3, 4:
support.google...
LAMBDA(): Puede crear y devolver una función personalizada con un conjunto de nombres y una expresión_fórmula que los use. Para calcular la expresión_fórmula, puede llamar a la función devuelta con tantos valores como lo indique el nombre:
support.google...
TRANSPOSE(): Transpone las filas y las columnas de una matriz o intervalo de celdas:
support.google...
FLATTEN(): Aplana todos los valores de uno o más rangos en una sola columna:
IFERROR():Ofrece el primer argumento si el valor no es un error. De lo contrario, ofrece el segundo argumento si existe, o un elemento en blanco si no existe:
support.google...
INDIRECT(): Devuelve una referencia de celda especificada por una cadena:
support.google...
CONCATENATE(): Agrega cadenas entre sí.
support.google...