Compre OS LIVROS DESTA SÉRIE
Para determinar o formato de exibição de uma célula na linha acima (por exemplo, A1:Z1) e exibi-lo na linha abaixo (A2:Z2) no Excel em português do Brasil (Office 365), não há uma função nativa que retorne diretamente o formato de célula (como "Geral", "Número", "Moeda", "Data", etc.). No entanto, podemos usar a função CÉL (equivalente a CELL em inglês) com o argumento "formato" para obter informações sobre o formato da célula.
Solução com Fórmula
A função CÉL("formato";A1) retorna um código que representa o formato da célula A1. Esses códigos podem ser traduzidos em descrições legíveis usando uma fórmula com SE para mapear os códigos de formato mais comuns. Abaixo está a fórmula adaptada para o português do Brasil, usando ponto e vírgula como separador de argumentos:
A função CÉL("formato";A1) retorna um código que representa o formato da célula A1. Esses códigos podem ser traduzidos em descrições legíveis usando uma fórmula com SE para mapear os códigos de formato mais comuns. Abaixo está a fórmula adaptada para o português do Brasil, usando ponto e vírgula como separador de argumentos:
Fórmula sugerida:
Na célula A2, insira a seguinte fórmula e arraste para as demais colunas (ou copie para toda a linha 2):
Na célula A2, insira a seguinte fórmula e arraste para as demais colunas (ou copie para toda a linha 2):
=SE(CÉL("formato";A1)="G";"Geral";
SE(CÉL("formato";A1)="F0";"Número (sem decimais)";SE(CÉL("formato";A1)="F2";"Número (2 decimais)";SE(CÉL("formato";A1)="$";"Moeda";SE(CÉL("formato";A1)="D1";"Data (DD/MM/AAAA)";SE(CÉL("formato";A1)="D4";"Data (DD/MM/AA)";SE(CÉL("formato";A1)="P0";"Porcentagem (sem decimais)";SE(CÉL("formato";A1)="P2";"Porcentagem (2 decimais)";SE(CÉL("formato";A1)="S";"Texto";"Outro")))))))))
Explicação:
- CÉL("formato";A1): Retorna um código que indica o formato da célula A1. Os códigos mais comuns no Excel em português do Brasil incluem:
- "G": Geral
- "F0": Número sem decimais
- "F2": Número com 2 decimais
- "$": Moeda
- "D1": Data no formato DD/MM/AAAA
- "D4": Data no formato DD/MM/AA
- "P0": Porcentagem sem decimais
- "P2": Porcentagem com 2 decimais
- "S": Texto (@)
- Outros formatos retornam códigos diferentes ou podem cair no caso "Outro".
- A fórmula usa SE aninhado para mapear esses códigos para descrições amigáveis.
- O resultado será exibido na linha 2 (A2:Z2) com base no formato da célula correspondente na linha 1 (A1:Z1).
- Insira a fórmula acima em A2.
- Arraste a alça de preenchimento para as colunas à direita (B2, C2, etc.) ou copie a fórmula para a faixa desejada.
- A fórmula verificará o formato da célula na linha 1 e exibirá a descrição correspondente na linha 2.
Se você tiver em A1:Z1 células com os seguintes formatos:
- A1: 123 (formatado como Geral)
- B1: 123,45 (formatado como Número com 2 decimais)
- C1: R$ 123,45 (formatado como Moeda)
- D1: 08/07/2025 (formatado como Data DD/MM/AAAA)
- E1: 50% (formatado como Porcentagem sem decimais)
- F1: "Olá" (formatado como Texto)
A linha 2 (A2:Z2) mostrará:
- A2: Geral
- B2: Número (2 decimais)
- C2: Moeda
- D2: Data (DD/MM/AAAA)
- E2: Porcentagem (sem decimais)
- F2: Texto
Observações importantes
- Limitações da função CÉL:
- A função CÉL("formato";...) retorna códigos que variam dependendo da configuração regional do Excel. Os códigos acima são baseados no padrão português do Brasil (Office 365). Se você estiver em outra região ou idioma, os códigos podem diferir (por exemplo, Moeda pode retornar "C2" em vez de "$" em algumas configurações).
- Formatos personalizados (ex.: "DD/MMM/AAAA") podem retornar códigos genéricos ou não mapeados, caindo no caso "Outro". Para formatos personalizados específicos, seria necessário um mapeamento mais detalhado ou uma solução em VBA.
- Células vazias:
- Se a célula na linha 1 estiver vazia, o formato retornado por CÉL("formato";...) será "G" (Geral), a menos que a célula tenha um formato específico aplicado. Se quiser tratar células vazias separadamente, adicione uma condição com ÉCÉL.VAZIA:
=SE(ÉCÉL.VAZIA(A1);"Vazio";
SE(CÉL("formato";A1)="G";"Geral";SE(CÉL("formato";A1)="F0";"Número (sem decimais)";SE(CÉL("formato";A1)="F2";"Número (2 decimais)";SE(CÉL("formato";A1)="$";"Moeda";SE(CÉL("formato";A1)="D1";"Data (DD/MM/AAAA)";SE(CÉL("formato";A1)="D4";"Data (DD/MM/AA)";SE(CÉL("formato";A1)="P0";"Porcentagem (sem decimais)";SE(CÉL("formato";A1)="P2";"Porcentagem (2 decimais)";SE(CÉL("formato";A1)="S";"Texto";"Outro"))))))))))
Office 365:
- A função CÉL é totalmente compatível com o Office 365 em português do Brasil, e a fórmula funciona sem problemas.
- Se você estiver usando uma versão mais antiga do Excel, verifique se a função CÉL suporta o argumento "formato", embora isso seja padrão desde versões bem antigas.
VBA
Sub PreencherFormatos()
Dim ws As WorksheetDim ultimaColuna As LongDim i As LongSet ws = ActiveSheetultimaColuna = ws.Cells(1, ws.Columns.Count).End(xlToLeft).ColumnFor i = 1 To ultimaColunaws.Cells(2, i).Value = ws.Cells(1, i).NumberFormatNext iEnd Sub
☕DOE UM CAFÉ:
👉 Não se esqueça de seguir André Bernardes no Linkedin. Clique aqui e me contate via What's App.