A função ACHATAR simplifica uma matriz aninhada (uma matriz de matrizes) substituindo as suas matrizes internas pelo respetivo conteúdo.
Sintaxe
A função ACHATAR remove uma ou mais camadas internas de aninhamento da matriz.
A sintaxe da função ACHATAR é:
ACHATAR(matriz; [pad_value]; [níveis])
| Argumento | Descrição |
|---|---|
|
matriz (obrigatório) |
A matriz aninhada ou a referência a uma célula ou intervalo que contém a matriz aninhada que pretende nivelar. |
| pad_value | O valor utilizado para preencher posições vazias ao achatar produz um resultado não retangular. Por predefinição, as posições vazias são preenchidas com o erro #N/D . |
| níveis | O número de camadas a serem removidas de dentro da matriz. Por padrão, uma camada é removida. Insira 0 para remover todas as camadas de aninhamento. |
Nota
- Se os níveis forem maiores que o número de camadas na matriz, todas as camadas serão removidas
Exemplos
Copie os dados de exemplo e copie-os na célula A1 de uma nova folha de cálculo do Excel. Se quiser, pode ajustar as larguras das colunas para ver todos os dados.
Exemplo 1
Espalhe uma coluna de matrizes aninhadas numa grelha. Cada célula na coluna A contém uma linha aninhada de três valores.
Copie toda a tabela e cole-a na célula A1 de uma nova folha de cálculo. A fórmula ACHATAR fica em A6 e transpõe uma grelha plana 3 por 3 para A6:C8.
| Dados |
|---|
| ={{1,2,3}} |
| ={{4,5,6}} |
| ={{7,8,9}} |
| Fórmulas |
| =ACHATAR(A2:A4) |
A ilustração seguinte mostra o resultado.
Exemplo 2
Preencha as lacunas quando as matrizes aninhadas tiverem tamanhos diferentes. Cada célula na coluna A possui uma linha aninhada, mas as duas linhas não têm o mesmo comprimento.
| Dados |
|---|
| ={{1,2,3}} |
| ={{4,5}} |
Achatá-los produz um resultado irregular. As matrizes do Excel têm de ser retangulares, para que a posição em falta seja preenchida – com o erro #N/D por predefinição ou com o valor fornecido em pad_value.
Uma vez que cada resultado é transposto, introduza as fórmulas em células com duas linhas vazias e três colunas vazias disponíveis.
=FLATTEN(A2:A3) devolve #N/D na célula vazia (predefinição).
=FLATTEN(A2:A3,0) Devolve 0 na célula vazia.
=FLATTEN(A2:A3,"") Devolve texto vazio numa célula vazia.
A ilustração seguinte mostra os resultados.