Crear fórmulas eficientes con @celda y @fila

Aplica a

Smartsheet
Enterprise

Optimice sus fórmulas para mejorar el rendimiento general de la hoja y evitar tener que hacer referencia a celdas manualmente en las fórmulas.

A medida que las hojas se hacen cada vez más grandes, tener fórmulas creadas con eficiencia se torna más útil para su rendimiento. A continuación, se mencionan dos funciones que contribuirán a que las fórmulas sean más eficientes: @celda y @fila.

Utilice @celda para realizar cálculos más inteligentes en las celdas

Toda vez que quiera hacer cálculos en fórmulas que hacen referencia a intervalos de celdas, por ejemplo:SUMIF, SUMIFS, COUNTIF y COUNTIFS, puede usar el argumento @celda en los criterios de la función. El argumento @celda realiza un cálculo en cada fila al mismo tiempo que la función principal (por ejemplo, SUMIF) evalúa sus criterios en el intervalo. De esta manera, su fórmula se torna más eficiente.

Por ejemplo, utilizando los datos de muestra de la imagen de abajo, si quisiese sumar el costo de todas las tareas cuya fecha de vencimiento tuvo lugar en el 2014, debería crear la siguiente fórmula:

=SUMIF([Fecha de vencimiento]1:[Fecha de vencimiento]5, AÑO(@celda) = 2014, Costo1:Costo5)

fórmula @celda

El resultado de esta fórmula es $875.75 (la suma del costo de todas las tareas cuya fecha de vencimiento tuvo lugar en el 2014).

CONSEJO: Agregue la función IFERROR a su fórmula para asegurarse de no obtener errores en caso de que @celda se encuentre con una celda en blanco en la fórmula. Por ejemplo:=COUNTIF([Fecha]:[Fecha], IFERROR(AÑO(@celda), 0) = 2016)

Use @fila para mejorar el rendimiento de la fórmula

Con @fila, puede mejorar el rendimiento al cambiar de manera automática las referencias de celdas en una columna (por ejemplo, el estado de sus tareas) para una gran cantidad de filas.
Supongamos que queremos usar una fórmula para cambiar los símbolos en la columna Estado de esta cuadrícula en forma automática:

atrow

 

A continuación, se muestra un ejemplo de una fórmula que podría crear para automatizar el cambio de color de las bolas rojas, amarillas, verdes y azules (RYG) en su columna Estado:

=IF(Completo3 <> 1, IF(TODAY() - [Fecha de vencimiento]3 > 0, "Rojo", IF(TODAY() - [Fecha de vencimiento]3 > -3, "Amarillo", "Verde")))

La fórmula de arriba incluye referencias múltiples a celdas en la fila 3. Al agregar una fila arriba de la fila 3, Smartsheet actualiza de manera automática todas las referencias de celdas en la fórmula en la fila 4. Smartsheet también debería modificar las fórmulas de las filas que le siguen de la misma manera. Cuantas más fórmulas deban modificarse, más se verá afectado su rendimiento en Smartsheet.

Para mejorar posiblemente el rendimiento de sus hojas, reemplace los números de fila con @fila en sus referencias de celdas. Así se vería la fórmula con @fila:

=IF(Completo@fila <> 1, IF(TODAY() - [Fecha de vencimiento]@fila > 0, "Rojo", IF(TODAY() - [Fecha de vencimiento]@fila > -3, "Amarillo", "Verde")))

Smartsheet no precisaría modificar las referencias de celdas en caso de que la fila se mueva. Como resultado, las hojas se cargan más rápido y se ahorra tiempo. También puede copiar y pegar esta fórmula sin tener que modificar manualmente los números de fila en referencias de celdas, lo que le permite ahorrar tiempo al copiar sus fórmulas.