Number Formato Excel: O que é “[$ -409]”?
-
23-08-2019 - |
Pergunta
Estou automatizar o Excel, usando o sistema de macro como um guia para o que devo fazer por meio da automação. Quando eu formatar uma coluna como uma data, a macro gerou um NumberFormat
para a coluna a ser:
[$-409]m/d/yy h:mm AM/PM;@
eu estou tentando decifrar o que isso realmente significa. i reunir de googling , que os valores em colchetes são um "condição" , e que se a condição:
$-409
for atendida, então ele vai usar o NumberFormat
m/d/yy h:mm AM/PM
Se não, ele usa o NumberFormat
@
As referências Acho dizer que o formato de número "@" é um texto do espaço reservado
Então, minhas perguntas são:
-
O que é a condicional $ - 409 testando? Trata-se de comparar algo contra -409 (ou seja, negativo quatrocentos e nove ), e em caso afirmativo, qual é a cifrão está comparando contra?
-
Se o condicional falhar, e recorre ao texto do espaço reservado "arroba", o que ele mostra como?
Solução
Para esclarecer o que outros disseram:
O [$ -409] é um locale código, dado em hexadecimal. Prefixando uma data com um determinado código de localidade determina o que é mostrado quando você usa os vários códigos de formato de data e hora. Por exemplo, utilizando a data ??p>
28 de novembro de 1973 11:28:13
como um exemplo para a tabela a seguir:
Format Code 409 (English United States) 804 (Chinese PRC)
=========== =========================== =================
m 11 11
mm 11 11
mmm Nov 十一月
mmmm November 十一月
d 27 27
dd 27 27
ddd Mon 二
dddd Monday 星期二
y 73 73
yy 73 73
yyy 1973 1973
yyyy 1973 1973
AM/PM AM 上午
Assim, no final do mesmo código de formato com dois identificadores de localidade diferentes, dá resultados diferentes:
[$-409]mmmm dd yyyy h:mm AM/PM
November 27 1973 11:28 AM
[$-804]mmmm dd yyyy h:mm AM/PM
十一月 27 1973 11:28 上午
Uma vez que encontrar uma lista de códigos de localidade é como puxar os dentes, aqui estão algumas referências:
Idioma Identificador Constantes e Cordas ( fonte primária, archive.is )
códigos do Windows Locale ordenadas por Locale (< a href = "https://archive.fo/Y1mxi" rel = "nofollow noreferrer"> archive.is )
códigos do Windows Locale ordenadas por Locale < em> ( archive.org , archive.is )
Outras dicas
Naaf e Grant Wagner ter ordenadamente respondeu à pergunta sobre o seu $-409
, por isso vou apenas preencher a parte que falta:
O '@' após a vírgula diz Excel como tratar os dados se você introduzir uma cadeia em vez de uma data válida. O @
significa simplesmente "colocar qualquer texto aqui, na íntegra".
Alguns exemplos rápidos para ilustrar o ponto:
=TEXT("abc","hh:mm;@")
abc
=TEXT("abc","hh:mm;@@")
abcabc
Consulte este artigo para uma descrição detalhada do texto opções de formatação.
Este post explica. Basicamente 409 é a locale ID para "Inglês - Estados Unidos". Se você usou [$-414]
, por exemplo, então a data seria formatado para "Norueguês (Bokmål)" em vez.
Meu palpite para a pergunta (2) é que os dados brutos seria apresentado como uma cadeia em vez de ser formatado. Um teste rápido iria verificar isso.
[$-409]
não parece ser uma condição. Parece ser um código de localidade.
Se eu formatar uma célula com um Personalizado formato de [$-409]m/d/yy h:mm AM/PM;@
, insira uma data: 1/1/9
, em seguida, exibir a formatação para a célula, vejo um Data ??strong> formato de m/d/yy h:mm AM/PM
com um Locale (localização) de English (United States)
.
Se você alterar o formato para algo como [$-439]m/d/yy h:mm AM/PM;@
você verá o conteúdo da célula em outro idioma.
Eu não tenho certeza sobre @
. Ele pode indicar como exibir a data se a fonte correta ou local não está disponível.
Aqui está a lista de Locale IDs Atribuído pela Microsoft .
Há um bug no Excel 2007 que muda todos os formatos gerais para a [$ -409] formato do tipo data.
Normalmente, o uso do [$ -409] é um formato bem.
Não há correção para o bug ainda fornecido pela Microsoft.
Este erro normalmente ocorre em grandes e Shared Excel pastas de trabalho.
Se você nunca tem a experiência onde todos os seus formatos gerais alterar a datas tente ir para Estilos de célula, clique com o botão direito no Normal e modificando volta normal geral. Vai dizer-lhe na caixa tipo de formato para Normal. Este é o erro, uma vez que normalmente deve ser 'geral' não algum verison de [$ -409].
Acabei por ter de apagar o formato do livro inteiramente. O livro deve ser unshared para fazer isso. Para apagar o formato [$ -409] acima identificado sob o tipo de célula "Normal" da pasta de trabalho, clique direito em uma célula, selecione Personalizado, desça até encontrar o [$ -409] tipo de formato identificado acima, excluir, em seguida, todos os formatos vai voltar ao que é chamado geral.