Fórmulas para obtener datos relacionados con los campos de una subtabla, como devolver una entrada específica de una subtabla, recuperar el número de filas de una subtabla únicas o no vacías, etc.
A continuación se muestra la lista de fórmulas compatibles. Ten en cuenta que las siguientes fórmulas distinguen entre mayúsculas y minúsculas.
| Fórmula | Descripción |
|---|---|
| FIRST(valor) | Devuelve el primer dato de la columna de la subtabla. Para detalles, haz clic aquí |
| FIRSTA(valor) | Devuelve el primer dato de la columna de la subtabla que no está vacío. Para detalles, haz clic aquí |
| LAST(valor) | Devuelve el último dato de la columna de la subtabla. Para detalles, haz clic aquí |
| LASTA(valor) | Devuelve el último dato de la columna de la subtabla que no está vacío. Para detalles, haz clic aquí |
| SUBTABLEROW(valor,núm_de_fila) | Devuelve los datos de destino de la columna de la subtabla; esto solo se puede configurar en campos independientes. Para detalles, haz clic aquí |
| COUNTA(valor) | Cuenta el número de filas de la subtabla donde el campo especificado no está vacío. La fórmula contará si el campo especificado no está vacío, incluso si otros campos de la fila lo están. No es necesario que toda la fila no esté vacía. Para detalles, haz clic aquí |
| RUNNINGBALANCE(valor, [allow_backend_formula_recalculation=false]) | Devuelve la suma de los valores de esta fila y la fila anterior de la columna de la subtabla, utilizada para calcular los saldos corrientes. "Allow_backend_formula_recalculation=true" significa permitir el recálculo de fórmulas backend para esta fórmula. Para usar esta fórmula, los registros de la subtabla deben crearse en el orden correcto. Para detalles, haz clic aquí |
| LARGE(arg, nth, ["arg2"]) | Hace referencia a los campos de la subtabla y comprueba el valor ordinal de una columna, a la vez que devuelve el valor de otra columna en la misma fila. El campo referenciado "arg2" debe estar en la misma subtabla que "arg". La fórmula ordenará las entradas en orden descendente en el backend y devolverá el valor del campo con el número ordinal especificado. Para detalles, haz clic aquí |
| UNIQUE() | Enumera los valores únicos del campo de la subtabla referenciado. Para más detalles, haz clic aquí. |
| UNIQUE().length | Calcula el número de valores únicos del campo Subtabla referenciado. Para más detalles, haz clic aquí. |
| VLOOKUP() | Devuelve los valores de la subtabla que cumplen las condiciones especificadas. Para más detalles, haz clic aquí. |
Asignar fórmulas a los encabezados de campo simplifica los cálculos, especialmente en las subtablas, donde no se necesitan fórmulas complejas.
A continuación, se muestra un ejemplo de cálculos en la hoja "Orden de venta":
En la subtabla, se muestran el precio unitario (B12) y la cantidad (C12) de cada artículo.
Al multiplicar estos valores, se obtiene el importe total (D12=B12*C12) adeudado por cada artículo.
El subtotal del campo Total (A17) hace referencia al importe total (D12) de la subtabla.

Las fórmulas también pueden funcionar en las propias subtablas. Por ejemplo, si necesita contar cuántas filas tiene una subtabla, puedes simplemente crear un campo independiente en la hoja que use la fórmula COUNT().

Para obtener más información y aplicaciones de las fórmulas de subtablas, consulte la siguiente sección. Para obtener información sobre las aplicaciones de fórmulas condicionales en subtablas, consulte esta sección.
Utiliza las siguientes fórmulas para obtener un valor de campo específico de una fila de subtabla. Consulta la tabla a continuación.
| Fórmula | Aplicación | Ejemplo |
|---|---|---|
| FIRST(value) | Devuelve el primer registro, utilizado para recuperar los datos más antiguos o superiores. Aplicable tanto a campos independientes como a campos de subtabla. | FIRST(A11) |
| FIRSTA(valor) | Devuelve el primer registro no vacío, ignorando las filas vacías. Aplicable tanto a campos independientes como a campos de subtabla. | FIRSTA(A11) |
| LAST(valor) | Devuelve el último registro, utilizado para recuperar los datos más recientes o inferiores. Aplicable tanto a campos independientes como a campos de subtabla. | LAST(A11) |
| LASTA(valor) | Devuelve el último registro no vacío, ignorando las filas vacías. Aplicable tanto a campos independientes como a campos de subtabla. | LASTA(A11) |
| SUBTABLEROW(valor, nth_row) | Devuelve datos de una fila especificada y se utiliza para recuperar una fila intermedia o específica. Aplicable solo a campos independientes. | SUBTABLEROW(A11, 3) |

Cuenta el número de filas de la subtabla donde el campo especificado no está vacío, independientemente de si el contenido es texto, números o resultados de fórmulas. Se excluyen los campos vacíos. Se utiliza comúnmente para estadísticas, validación de datos o análisis de informes.
Nota: La fórmula contará si el campo especificado no está vacío, incluso si otros campos de la fila lo están. No es necesario que toda la fila esté vacía.
Ejemplo:
En una subtabla con un campo de Carga de archivos, cada fila puede incluir archivos adjuntos, mientras que los campos vacíos indican que no hay cargas. Al aplicar COUNTA(Carga de archivos) al campo Recuento de archivos, se calcula rápidamente cuántos registros de la subtabla contienen archivos cargados.

Devuelve la suma de los valores de la fila actual y anterior en una columna de subtabla, comúnmente utilizada para montos, cantidades u otros campos que requieren totales acumulativos.
| Fórmula | Aplicación |
|---|---|
| RUNNINGBALANCE | RUNNINGBALANCE(valor, [allow_backend_formula_recalculation=false]) |
Argumentos:
valor (requerido): El campo que se acumulará.
allow_backend_formula_recalculation (opcional): El valor predeterminado es falso. Si se establece en verdadero, la fórmula permite el recálculo en el backend.
Nota: Los registros de la subtabla deben crearse en el orden correcto.
Ejemplo: Cálculo del total acumulado
En el campo "Total acumulado" de una subtabla, aplique la fórmula: RUNNINGBALANCE("Importe diario de la transacción", verdadero)
Esta fórmula suma las transacciones de cada día en secuencia, mostrando el total acumulado fila por fila y permite el recálculo automático.

Devuelve el valor de un campo de subtabla especificado según su posición ordinal o el valor de otro campo en la misma fila. Se utiliza comúnmente para análisis estadístico, clasificación o evaluación del rendimiento. Los valores duplicados se clasifican secuencialmente en lugar de tratarse como iguales.
| Fórmulas | Sintaxis |
|---|---|
| LARGE | LARGE(arg, nth, ["arg2"]) |
Argumentos:
argumento 1 (requerido): El campo numérico a consultar.
nth (requerido): La posición ordinal que se devolverá (por ejemplo, 1 para el valor más grande, 2 para el segundo más grande).
argumento 2 (opcional): El campo en la misma fila que se devolverá cuando se cumpla la condición.
Ejemplo: Encontrar a los vendedores con mejor rendimiento y sus ventas trimestrales
En una subtabla que registra el rendimiento trimestral de cada vendedor con los campos "Nombre del vendedor" y "Ventas trimestrales":
Para encontrar las ventas trimestrales más altas, aplica la fórmula LARGE("Ventas trimestrales", 1). Esto devuelve el importe de ventas más alto del trimestre.

Para encontrar el nombre del vendedor con mejor rendimiento, utiliza LARGE("Ventas trimestrales", 1, "Nombre del vendedor"). El sistema devuelve el nombre del vendedor con las mayores ventas trimestrales.
Para encontrar al segundo vendedor con mejor rendimiento, utiliza LARGE("Ventas trimestrales", 2, "Nombre del vendedor").

Para obtener el valor más pequeño de la subtabla, combínelo con la función COUNT().
Por ejemplo: LARGE("Ventas trimestrales", COUNT("Ventas trimestrales"), "Nombre del vendedor")
Esta fórmula obtiene el valor más pequeño del campo "Ventas trimestrales" y el "Nombre del vendedor" correspondiente.

Puedes usar UNIQUE() y UNIQUE().length para encontrar o calcular el número de valores únicos en una subtabla.
UNIQUE(): Enumera los valores únicos del campo de la subtabla referenciado. Si no modifica el separador en su fórmula, los valores de la subtabla usarán "," como separador predeterminado, lo que da como resultado la imagen a continuación.

Si deseas configurar su separador, debe modificar su fórmula a UNIQUE(campo,"separador"). Por ejemplo, puede usar UNIQUE(A1,"/"), UNIQUE(A1," ") o UNIQUE(A1,," "). El resultado sería "Antonio/Maria/Fabiola", "Antonio Maria Fabiola" o "Antonio, Maria, Fabiola", respectivamente.

UNIQUE().length: Calcula el número de valores únicos del campo de subtabla referenciado.
Por ejemplo:

La función VLOOKUP devuelve el valor de un campo de una fila de subtabla si la condición se cumple (TRUE).
| Fórmula | Sintaxis |
|---|---|
| VLOOKUP | VLOOKUP(valor, campo_Query, campo_Indicador, [Coincidencia Aprox=true], [Encontrar Múltiples=False]) |
Argumentos:
Valor (requerido): El valor que desea buscar, puede ser un número, una expresión, una referencia a otro campo o una cadena de texto.
Campo query (requerido): El rango donde se encuentra el valor de búsqueda.
Campo indicador (requerido): El campo en la subtabla que contiene el valor a devolver.
[Coincidencia Aprox=true] (opcional): Especifica si deseas que VLOOKUP encuentre una coincidencia aproximada o exacta. El valor predeterminado es "true" (coincidencia aproximada). Puedes cambiarlo a "false" si deseas que sólo busque coincidencias exactas.
[Encontrar Múltiples=False] (opcional): Determina si el campo indicador devuelve múltiples valores. El valor predeterminado es "false." Si hay múltiples registros que coincidan con el criterio, por favor cambiar a "true."
Ejemplo:
Supongamos que deseamos encontrar el maestro de una clase específica de la siguiente subtabla:

Puedes crear un nuevo campo de texto libre para que el usuario ingrese la clase. Luego crea otro campo de texto libre y aplica la fórmula VLOOKUP(A9, A4, B4, false, false) o VLOOKUP(A9, A4, B4). La fórmula devolverá el nombre del maestro según el valor ingresado.

Para devolver varios valores que cumplan los criterios y realizar una coincidencia aproximada, puedes aplicar "VLOOKUP(A9, A4, B4, true, true)".