Para calcular cada recurso básico dentro de kits criativos aninhados, separe os recursos diretos do conteúdo dos kits, multiplique a cada nível de aninhamento e some os resultados. Este passo a passo do Excel para Mac cria uma matriz completa de requisitos e uma busca exata de recursos e kits.
A tarefa é descobrir quantas instâncias de cada gráfico são necessárias para um kit — ou para um lote escolhido de kits — quando os kits contêm outros kits. Todos os rótulos e quantidades abaixo são sintéticos. O cálculo conta instâncias de gráficos; ele não elimina duplicatas de arquivos de origem reutilizáveis.
Quais versões do Excel para Mac oferecem suporte a este fluxo de trabalho?
Use o Excel para Microsoft 365 para Mac, o Excel 2024 para Mac ou o Excel 2021 para Mac. A Microsoft lista essas edições para as funções de matriz e de busca usadas aqui. A Microsoft também documenta explicitamente as matrizes dinâmicas no Excel 2021 para Mac. O passo a passo usa intervalos comuns de planilha e fórmulas confirmadas com Enter. Função MMULT, Função INDEX, Novidades do Excel 2021 para Mac.
Uma fórmula de matriz dinâmica preenche automaticamente as células adjacentes; esse comportamento é chamado de derramamento. Insira cada fórmula de matriz apenas na célula inicial especificada e deixe vazio o intervalo de saída. Mantenha essas fórmulas fora das Tabelas do Excel: a Microsoft informa que fórmulas de matriz derramadas não são compatíveis com Tabelas. Fórmulas de matriz dinâmica e comportamento de matriz derramada.
Os cálculos do exemplo foram conferidos com um pequeno cálculo determinístico em Python. As fórmulas não foram executadas no aplicativo Excel para desktop.
Como registrar os recursos diretos e os kits aninhados?
Comece com uma planilha em branco. Você criará duas matrizes de entrada: uma para os gráficos básicos inseridos diretamente em cada kit e outra para os kits inseridos diretamente dentro de outros kits. Manter essas entradas separadas evita contar novamente quantidades já expandidas.
Insira a matriz de recursos básicos diretos
Cole este bloco separado por tabulações em A1. Sua área numérica, B2:D5, tem quatro linhas de recursos e três colunas de kits.
Asset DotKit StripeKit StudioKit
Dot 2 1 0
Arc 1 0 2
Grid 0 3 1
Tile 0 1 0
Leia cada coluna como o conteúdo gráfico direto de um kit. Um DotKit contém diretamente duas instâncias de Dot e uma de Arc. Um StripeKit contém diretamente uma instância de Dot, três de Grid e uma de Tile. Seus kits aninhados serão registrados separadamente.
Use o zero numérico para cada componente ausente. A Microsoft especifica que as entradas de MMULT devem conter números; células vazias ou texto podem gerar #VALUE!. Mantenha os rótulos fora dos intervalos numéricos passados à função. Função MMULT.
Insira a matriz de kits dentro de kits
Cole o bloco a seguir em A7. Aqui, uma linha identifica o kit componente e uma coluna identifica o kit pai. A matriz numérica de aninhamento ocupa B8:D10.
Component kit DotKit StripeKit StudioKit
DotKit 0 2 1
StripeKit 0 0 3
StudioKit 0 0 0
A matriz descreve estas receitas:
- DotKit não contém outros kits.
- StripeKit contém dois DotKits.
- StudioKit contém um DotKit e três StripeKits.
Registre apenas o conteúdo imediato. O único DotKit diretamente contido no StudioKit deve estar em D8; os seis DotKits adicionais dentro dos três StripeKits precisam ser calculados. Inserir sete em D8 contaria esses seis duas vezes.
Use exatamente a mesma ordem de kits em B1:D1, B7:D7 e A8:A10: DotKit, StripeKit, StudioKit. A multiplicação de matrizes corresponde as posições, então rótulos correspondentes não corrigem uma ordem de entrada diferente.
Este exemplo pressupõe quantidades inteiras não negativas e receitas que eventualmente chegam a recursos básicos. Nenhum kit pode conter a si mesmo por meio de uma cadeia de outros kits.
Como calcular a matriz completa de requisitos?
Na explicação abaixo, chame a matriz direta de recursos de B e a matriz de aninhamento de N. Esses são rótulos matemáticos, não nomes que você precise definir na pasta de trabalho. Multiplicar B por N dá os recursos contribuídos por um nível de contenção de kits. Multiplicar esse resultado por N acrescenta outro nível.
Para estes três kits, a cadeia mais profunda é o StudioKit contendo o StripeKit, que contém o DotKit. Portanto, a matriz completa é a soma dos recursos diretos, dos recursos um nível abaixo e dos recursos dois níveis abaixo:
Requisitos completos = B + BN + BN²
O sobrescrito denota multiplicação repetida de matrizes. No Excel, calcule isso com MMULT; aplicar o operador comum ^2 a um intervalo elevaria ao quadrado suas entradas individuais.
Calcule as contribuições em cada nível de aninhamento
Insira esta fórmula em G2 e pressione Enter. Ela preenche G2:I5 com os recursos alcançados por um nível de aninhamento.
=MMULT($B$2:$D$5,$B$8:$D$10)
Insira a fórmula seguinte em L2. Ela preenche L2:N5 com os recursos alcançados por dois níveis de aninhamento.
=MMULT(G2:I5,$B$8:$D$10)
As dimensões explicam a ordem da multiplicação: uma matriz de recursos de quatro por três multiplicada por uma matriz de aninhamento de três por três produz outra matriz de recursos de quatro por três. A Microsoft informa que o número de colunas da primeira matriz deve ser igual ao número de linhas da segunda. Função MMULT.
Para uma verificação intermediária, a coluna StudioKit de G2:I5 deve conter 5, 1, 9 e 3. A coluna correspondente em L2:N5 deve conter 12, 6, 0 e 0, seguindo a ordem dos recursos Dot, Arc, Grid, Tile.
Some as contribuições diretas e aninhadas
Insira DotKit, StripeKit e StudioKit em Q1:S1. Insira Dot, Arc, Grid e Tile em P2:P5. Em seguida, coloque esta fórmula em Q2:
=$B$2:$D$5+G2:I5+L2:N5
A matriz completa em Q2:S5 deve ser:
| Recurso básico | DotKit | StripeKit | StudioKit |
|---|---|---|---|
| Dot | 2 | 5 | 17 |
| Arc | 1 | 2 | 9 |
| Grid | 0 | 3 | 10 |
| Tile | 0 | 1 | 3 |
Confira manualmente a quantidade de Dot do StudioKit. Ele tem zero Dot diretos, dois provenientes do DotKit que contém diretamente e quinze provenientes dos três StripeKits, cada um com cinco Dots. O total é dezessete. Essa verificação segue todos os caminhos até o mesmo recurso, inclusive os que passam por um subkit compartilhado.
Como provar que nenhum nível de aninhamento foi omitido?
Um total plausível não comprova que a expansão está completa. Use a própria matriz de aninhamento para verificar se existe outro nível de contenção.
Insira esta fórmula em G8 para calcular a matriz de aninhamento de dois níveis em G8:I10:
=MMULT($B$8:$D$10,$B$8:$D$10)
Depois insira esta fórmula em L8 para calcular a matriz de aninhamento de três níveis em L8:N10:
=MMULT(G8:I10,$B$8:$D$10)
Para os dados fornecidos, G8:I10 contém uma entrada diferente de zero: seis DotKits alcançados por meio de StripeKit dentro do StudioKit. Todas as entradas em L8:N10 são zero. Não há caminho de três níveis, portanto não pode haver contribuição além dos dois níveis de aninhamento já incluídos.
Esta regra de parada decorre do modelo de matrizes. Com quantidades não negativas, uma matriz de aninhamento seguinte toda zerada significa que todos os caminhos de aninhamento mais longos também estão ausentes. Isso é mais rigoroso do que verificar se um recurso específico recebe outra contribuição.
Para uma pasta de trabalho maior, com k kits distintos e sem ciclos de contenção, a cadeia mais longa possível tem no máximo k−1 níveis. Continue multiplicando cada matriz de contribuição de recursos pela matriz de aninhamento e somando os resultados até que a próxima potência de aninhamento seja toda zerada. A fórmula de três termos acima está completa para este exemplo; ela precisa ser ampliada quando kits adicionais criarem cadeias mais profundas.
Ordenar os kits do mais simples ao mais aninhado facilita a inspeção. Na matriz de aninhamento fornecida, todas as entradas diferentes de zero ficam acima da diagonal. Uma entrada diagonal positiva significa contenção direta do próprio kit. Se uma cadeia mais longa retornar ao kit inicial, corrija essa receita antes de usar esta expansão finita.
Como buscar a quantidade de um recurso e um kit?
Defina W1 como Asset, X1 como Kit e Y1 como Quantity. Insira Arc em W2 e StudioKit em X2. Em Y2, insira:
=INDEX($Q$2:$S$5,MATCH(W2,$P$2:$P$5,0),MATCH(X2,$Q$1:$S$1,0))
O resultado deve ser 9. O primeiro MATCH localiza a linha do recurso; o segundo localiza a coluna do kit. INDEX retorna a interseção. A Microsoft documenta esse comportamento de seleção por linha e coluna e confirma que MATCH com 0 solicita uma correspondência exata sem exigir rótulos ordenados. Função INDEX, Função MATCH.
Mantenha os rótulos únicos em cada eixo, pois MATCH exato retorna a primeira posição correspondente. Um rótulo ausente gera #N/A. Deixe esse erro visível enquanto confere os nomes, em vez de substituí-lo por zero: zero já tem um significado na matriz de requisitos. Função MATCH.
Como calcular um lote de vários kits?
Insira DotKit, StripeKit e StudioKit em Q7:S7. Insira 2, 1 e 3 em Q8:S8. Essas são as quantidades solicitadas de forma independente: dois DotKits, um StripeKit e três StudioKits.
Coloque Total de instâncias em U1 e insira esta fórmula em U2:
=MMULT($Q$2:$S$5,TRANSPOSE($Q$8:$S$8))
TRANSPOSE converte a linha horizontal de demanda de três kits em uma coluna vertical. A multiplicação então produz um total por recurso básico, preenchendo U2:U5. A Microsoft informa que TRANSPOSE alterna linhas e colunas. Função TRANSPOSE.
| Recurso básico | Cálculo | Total de instâncias |
|---|---|---|
| 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 |
Não some à linha de demanda os DotKits e StripeKits necessários internamente. Seus conteúdos já estão incluídos na matriz completa. Entradas de demanda adicionais representam kits extras solicitados separadamente.
O que verificar quando o resultado parece errado?
Faça as verificações a seguir antes de alterar as fórmulas:
- Uma matriz mostra
#SPILL!: verifique se há entradas existentes ou células mescladas no intervalo de saída previsto. Remova o obstáculo ou mova a fórmula. A Microsoft documenta ambas as condições como impedimentos ao derramamento. Como corrigir um erro #SPILL!. - Uma multiplicação mostra
#VALUE!: verifique se há células vazias, texto, cabeçalhos incluídos ou dimensões incompatíveis nas entradas. Função MMULT. - Os totais estão altos demais: verifique se as matrizes diretas já incluem o conteúdo expandido dos subkits ou se as quantidades internas de kits foram somadas à demanda do lote.
- Os totais estão baixos demais: verifique a próxima potência de aninhamento. Um resultado diferente de zero significa que talvez seja preciso acrescentar outro nível de contribuição.
- Os números parecem razoáveis sob os títulos errados: compare a ordem dos kits nas duas matrizes de entrada e nos cabeçalhos da saída.
Ao ampliar a pasta de trabalho, atualize todos os intervalos de entrada afetados, cálculos auxiliares, cabeçalhos de saída, intervalos de busca e intervalos de demanda. Essas fórmulas usam endereços fixos; digitar um novo kit ao lado das entradas existentes não o incorpora automaticamente.
Mantenha as receitas diretas como entradas editáveis, conserve a verificação da profundidade de aninhamento junto ao cálculo e confira o caminho completo de um recurso após cada alteração estrutural. Com essas verificações, a matriz concluída permite tanto buscas de kits individuais quanto totais de lotes com base nas mesmas receitas registradas.
Fontes
- Função MMULT — Suporte da Microsoft.
- Novidades do Excel 2021 para Mac — Suporte da Microsoft.
- Fórmulas de matriz dinâmica e comportamento de matriz derramada — Suporte da Microsoft.
- Função INDEX — Suporte da Microsoft.
- Função MATCH — Suporte da Microsoft.
- Função TRANSPOSE — Suporte da Microsoft.
- Como corrigir um erro #SPILL! — Suporte da Microsoft.