Para calcular cada recurso base dentro de kits creativos anidados, separa los recursos directos del contenido de los kits, multiplica en cada nivel de anidamiento y suma los resultados. Esta guía de Excel para Mac crea una matriz completa de requisitos y una búsqueda exacta por recurso y kit.

La tarea consiste en averiguar cuántas instancias de cada gráfico se necesitan para un kit o para un lote elegido de kits cuando estos contienen otros kits. Todas las etiquetas y cantidades que aparecen a continuación son sintéticas. El cálculo cuenta instancias de gráficos; no elimina duplicados entre archivos de origen reutilizables.

¿Qué versiones de Excel para Mac admiten este flujo de trabajo?

Usa Excel para Microsoft 365 para Mac, Excel 2024 para Mac o Excel 2021 para Mac. Microsoft incluye estas ediciones entre las que admiten las funciones de matriz y búsqueda utilizadas aquí. Microsoft también documenta explícitamente las matrices dinámicas en Excel 2021 para Mac. La guía utiliza rangos de hoja de cálculo comunes y fórmulas que se confirman con Enter. Función MMULT, Función INDEX, Novedades de Excel 2021 para Mac.

Una fórmula de matriz dinámica rellena automáticamente las celdas contiguas; este comportamiento se denomina desbordamiento. Escribe cada fórmula de matriz solo en la celda inicial indicada y deja vacío su rango de salida. Mantén estas fórmulas fuera de las tablas de Excel: Microsoft documenta que las fórmulas de matriz con desbordamiento no son compatibles con las tablas. Fórmulas de matriz dinámica y comportamiento de las matrices desbordadas.

Los cálculos de ejemplo se comprobaron con un cálculo determinista pequeño en Python. Las fórmulas no se ejecutaron en la aplicación de escritorio de Excel.

¿Cómo registrar los recursos directos y los kits anidados?

Empieza con una hoja de cálculo en blanco. Crearás dos matrices de entrada: una para los gráficos base colocados directamente en cada kit y otra para los kits colocados directamente dentro de otros kits. Mantener separadas estas entradas evita volver a contar cantidades ya expandidas.

Introduce la matriz de recursos base directos

Pega este bloque tabulado en A1. Su área numérica, B2:D5, tiene cuatro filas de recursos y tres columnas de kits.

Recurso	DotKit	StripeKit	StudioKit
Dot	2	1	0
Arc	1	0	2
Grid	0	3	1
Tile	0	1	0

Lee cada columna como el contenido gráfico directo de un kit. Un DotKit contiene directamente dos instancias de Dot y una de Arc. Un StripeKit contiene directamente una de Dot, tres de Grid y una de Tile. Sus kits anidados se registran por separado.

Usa el cero numérico para cada componente ausente. Microsoft especifica que las entradas de MMULT deben contener números; las celdas vacías o el texto pueden producir #VALUE!. Mantén las etiquetas fuera de los rangos numéricos que se pasan a la función. Función MMULT.

Introduce la matriz de kits dentro de otros kits

Pega el siguiente bloque en A7. Aquí, cada fila identifica el kit componente y cada columna, el kit contenedor. La matriz numérica de anidamiento ocupa B8:D10.

Kit componente	DotKit	StripeKit	StudioKit
DotKit	0	2	1
StripeKit	0	0	3
StudioKit	0	0	0

La matriz describe estas recetas:

  • DotKit no contiene otros kits.
  • StripeKit contiene dos DotKits.
  • StudioKit contiene un DotKit y tres StripeKits.

Registra solo el contenido inmediato. El único DotKit que contiene directamente StudioKit va en D8; los seis DotKits adicionales dentro de sus tres StripeKits deben calcularse. Introducir siete en D8 contaría esos seis dos veces.

Usa exactamente el mismo orden de kits en B1:D1, B7:D7 y A8:A10: DotKit, StripeKit, StudioKit. La multiplicación de matrices empareja las posiciones, así que tener etiquetas coincidentes no corregirá una entrada con otro orden.

Este ejemplo supone cantidades enteras no negativas y recetas que terminan en recursos base. Ningún kit puede contenerse a sí mismo mediante una cadena de otros kits.

¿Cómo se calcula la matriz completa de requisitos?

En la explicación siguiente, llama B a la matriz de recursos directos y N a la matriz de anidamiento. Son etiquetas matemáticas; no tienes que definirlas en el libro. Al multiplicar B por N, se obtienen los recursos aportados a través de un vínculo de contención. Al multiplicar ese resultado por N, se añade otro vínculo.

Para estos tres kits, la cadena más profunda es StudioKit, que contiene StripeKit, que a su vez contiene DotKit. Por lo tanto, la matriz completa es la suma de los recursos directos, los recursos de un nivel de anidamiento y los de dos niveles:

Requisitos completos = B + BN + BN²

El superíndice indica una multiplicación de matrices repetida. En Excel, calcúlala con MMULT; aplicar el operador ordinario ^2 a un rango elevaría al cuadrado sus entradas individuales.

Calcula las aportaciones de cada nivel de anidamiento

Introduce esta fórmula en G2 y pulsa Enter. Rellena G2:I5 con los recursos a los que se llega mediante un vínculo de anidamiento.

=MMULT($B$2:$D$5,$B$8:$D$10)

Introduce la fórmula siguiente en L2. Rellena L2:N5 con los recursos a los que se llega mediante dos vínculos de anidamiento.

=MMULT(G2:I5,$B$8:$D$10)

Las dimensiones explican el orden de la multiplicación: una matriz de recursos de cuatro por tres multiplicada por una matriz de anidamiento de tres por tres produce otra matriz de recursos de cuatro por tres. Microsoft documenta que el número de columnas de la primera matriz debe coincidir con el número de filas de la segunda. Función MMULT.

Como comprobación intermedia, la columna StudioKit de G2:I5 debe contener 5, 1, 9 y 3. Su columna en L2:N5 debe contener 12, 6, 0 y 0, en el orden de recursos Dot, Arc, Grid, Tile.

Suma las aportaciones directas y anidadas

Introduce DotKit, StripeKit y StudioKit en las celdas Q1:S1. Introduce Dot, Arc, Grid y Tile en P2:P5. Luego coloca esta fórmula en Q2:

=$B$2:$D$5+G2:I5+L2:N5

La matriz completa en Q2:S5 debe ser:

Recurso base DotKit StripeKit StudioKit
Dot 2 5 17
Arc 1 2 9
Grid 0 3 10
Tile 0 1 3

Comprueba manualmente la cantidad de Dot de StudioKit. No contiene ningún Dot directamente, tiene dos por su DotKit directo y quince por sus tres StripeKits, cada uno con cinco Dots. El total es diecisiete. Esta comprobación sigue todas las rutas hasta el mismo recurso, incluidas las que pasan por un subkit compartido.

¿Cómo puedes comprobar que no falta ningún nivel de anidamiento?

Un total plausible no demuestra que la expansión esté completa. Usa la propia matriz de anidamiento para comprobar si existe otro nivel de contención.

Introduce esta fórmula en G8 para calcular la matriz de anidamiento de dos vínculos en G8:I10:

=MMULT($B$8:$D$10,$B$8:$D$10)

A continuación, introduce esta fórmula en L8 para calcular la matriz de anidamiento de tres vínculos en L8:N10:

=MMULT(G8:I10,$B$8:$D$10)

Con los datos proporcionados, G8:I10 contiene una sola entrada distinta de cero: seis DotKits a los que se llega a través de StripeKit dentro de StudioKit. Todas las entradas de L8:N10 son cero. No hay ninguna ruta de tres vínculos, así que no puede haber aportaciones más allá de los dos niveles de anidamiento ya incluidos.

Esta regla de parada se deriva del modelo matricial. Con cantidades no negativas, si la siguiente matriz de anidamiento es completamente cero, tampoco hay ninguna ruta de anidamiento más larga. Es una comprobación más sólida que verificar si un recurso concreto recibe otra aportación.

En un libro más grande con k kits distintos y sin ciclos de contención, la cadena más larga puede tener como máximo k−1 vínculos. Sigue multiplicando cada matriz de aportaciones de recursos por la matriz de anidamiento y sumando los resultados hasta que la siguiente potencia de la matriz de anidamiento sea completamente cero. La fórmula de tres términos anterior es completa para este ejemplo; debe ampliarse si se añaden kits que creen cadenas más profundas.

Ordenar los kits de los más sencillos a los más anidados facilita la revisión. En la matriz de anidamiento proporcionada, todas las entradas distintas de cero se encuentran por encima de la diagonal. Una entrada diagonal positiva indica que un kit se contiene directamente a sí mismo. Si una cadena más larga vuelve al kit de partida, corrige esa receta antes de usar esta expansión finita.

¿Cómo se busca la cantidad de un recurso y un kit?

Establece W1 como Recurso, X1 como Kit y Y1 como Cantidad. Introduce Arc en W2 y StudioKit en X2. En Y2, introduce:

=INDEX($Q$2:$S$5,MATCH(W2,$P$2:$P$5,0),MATCH(X2,$Q$1:$S$1,0))

El resultado debe ser 9. El primer MATCH localiza la fila del recurso; el segundo localiza la columna del kit. INDEX devuelve su intersección. Microsoft documenta este comportamiento de selección por fila y columna, y confirma que MATCH con 0 solicita una coincidencia exacta sin exigir que las etiquetas estén ordenadas. Función INDEX, Función MATCH.

Mantén etiquetas únicas dentro de cada eje, porque MATCH exacto devuelve la primera posición coincidente. Si falta una etiqueta, se produce #N/A. Deja visible ese error mientras compruebas los nombres, en lugar de sustituirlo por cero: el cero ya tiene un significado en la matriz de requisitos. Función MATCH.

¿Cómo se calcula un lote de varios kits?

Introduce DotKit, StripeKit y StudioKit en las celdas Q7:S7. Introduce 2, 1 y 3 en las celdas Q8:S8. Estas son las cantidades solicitadas por separado: dos DotKits, un StripeKit y tres StudioKits.

Escribe Total de instancias en U1 y, luego, introduce esta fórmula en U2:

=MMULT($Q$2:$S$5,TRANSPOSE($Q$8:$S$8))

TRANSPOSE convierte la fila horizontal de demanda de tres kits en una columna vertical. La multiplicación produce entonces un total por recurso base y rellena U2:U5. Microsoft documenta que TRANSPOSE intercambia filas y columnas. Función TRANSPOSE.

Recurso base Cálculo Total de instancias
Dot 2×2 + 5×1 + 17×3 60
Arc 1×2 + 2×1 + 9×3 31
Grid 0×2 + 3×1 + 10×3 33
Tile 0×2 + 1×1 + 3×3 10

No sumes los DotKits ni los StripeKits que se necesitan internamente a esta fila de demanda. Su contenido ya está incluido en la matriz completa. Las entradas de demanda adicionales representan kits extra solicitados por separado.

¿Qué debes comprobar si el resultado parece incorrecto?

Haz las siguientes comprobaciones antes de cambiar las fórmulas:

  1. Una matriz muestra #SPILL!: revisa si hay datos o celdas combinadas en el rango de salida previsto. Quita el obstáculo o cambia la fórmula de lugar. Microsoft documenta ambas situaciones como bloqueos del desbordamiento. Cómo corregir un error #SPILL!.
  2. Una multiplicación muestra #VALUE!: comprueba si hay celdas vacías, texto, encabezados incluidos o dimensiones incompatibles en las entradas. Función MMULT.
  3. Los totales son demasiado altos: comprueba si las matrices directas ya incluyen el contenido expandido de los subkits o si se añadieron a la demanda del lote las cantidades de kits internas.
  4. Los totales son demasiado bajos: comprueba la siguiente potencia de anidamiento. Un resultado distinto de cero indica que puede ser necesario añadir otro nivel de aportación.
  5. Las cifras parecen razonables, pero tienen encabezados incorrectos: compara el orden de los kits en ambas matrices de entrada y en los encabezados de salida.

Al ampliar el libro, actualiza todos los rangos de entrada afectados, los cálculos auxiliares, los encabezados de salida y los rangos de búsqueda y demanda. Estas fórmulas usan direcciones fijas; escribir un kit nuevo junto a las entradas existentes no lo incorpora automáticamente.

Mantén las recetas directas como entradas editables, conserva la comprobación de profundidad de anidamiento junto al cálculo y revisa una ruta completa de recursos después de cada cambio estructural. Con estas comprobaciones, la matriz final permite consultar kits individuales y calcular totales de lotes a partir de las mismas recetas registradas.

Fuentes