numberformat - Formato de número Excel: ¿Qué es "[$-409]"?
numberformat excel (5)
Estoy automatizando Excel, usando el macro sistema como una guía de lo que debería hacer a través de la automatización. Cuando formato una columna como una fecha, la macro generó un NumberFormat
para que la columna sea:
[$-409]m/d/yy h:mm AM/PM;@
Estoy tratando de descifrar lo que realmente significa. Deduzco de Google , que los valores en los corchetes son una "condición" , y que si la condición:
$-409
se cumple, luego usará el NumberFormat
m/d/yy h:mm AM/PM
si no, usa NumberFormat
@
Las referencias que encuentro dicen que el formato de número "@" es un marcador de posición de texto
Entonces mis preguntas son:
¿Cuál es la prueba condicional $ -409 ? ¿Está comparando algo contra -409 (es decir, cuatrocientas nueve negativas ) y, de ser así, cuál es el signo de dólar con el que compara?
Si el condicional falla y recurre al marcador de posición de texto "al firmar", ¿cómo se muestra?
Existe un error en Excel 2007 que cambia todos los formatos generales a un formato de fecha de tipo [$ -409].
Normalmente, el uso de [$ -409] es un formato aceptable.
No existe una solución para el error aún provisto por Microsoft. Este error normalmente ocurre en los libros de Excel grandes y compartidos.
Si alguna vez tiene la experiencia en la que todos sus formatos generales cambian a fechas, intente ir a Estilos de celda, haga clic con el botón derecho en Normal y modifique lo normal a general. Le indicará en la casilla el tipo de formato para Normal. Este es el error, ya que normalmente debería ser ''general'', no una versión de [$ -409].
Terminé teniendo que eliminar el formato del libro de trabajo por completo. El Libro de trabajo no se debe compartir para hacer esto. Para eliminar el Formato [$ -409] identificado anteriormente en el tipo de celda "Normal" del libro de trabajo, haga clic con el botón derecho en una celda, seleccione Personalizado, desplácese hasta encontrar el tipo de formato [$ -409] identificado anteriormente, elimine todos los formatos Regresaremos a lo que se llama general.
Naaf y Grant Wagner han respondido perfectamente la pregunta sobre tus $-409
, así que solo completaré la parte faltante:
La ''@'' después del punto y coma le dice a Excel cómo tratar los datos si ingresa una cadena en lugar de una fecha válida. El @
simplemente significa "colocar cualquier texto aquí, textualmente".
Algunos ejemplos rápidos para ilustrar el punto:
=TEXT("abc","hh:mm;@")
abc
=TEXT("abc","hh:mm;@@")
abcabc
Consulte este artículo para obtener una descripción detallada de las opciones de formato de texto.
Para aclarar lo que otros han dicho:
El [$ -409] es un código de configuración regional , dado en hexadecimal. La prefijación de una fecha con un determinado código de localización determina lo que se muestra cuando utiliza los diversos códigos de formato de fecha y hora. Por ejemplo, usando la fecha
28 de noviembre de 1973 11:28:13 a.m.
como un ejemplo para la siguiente tabla:
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 上午
Entonces, al final, el mismo código de formato con dos identificadores de locale diferentes, da diferentes resultados:
[$-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 上午
Como encontrar una lista de códigos locales es como tirar dientes, aquí hay algunas referencias:
Constantes y cadenas del identificador de idioma (fuente principal)
Códigos de configuración regional de Windows ordenados por configuración regional
Códigos de configuración regional de Windows ordenados por configuración regional
Esta publicación lo explica. Básicamente, 409 es la ID de configuración regional para "English - United States". Si usó [$-414]
, por ejemplo, entonces la fecha se formateará para "Norwegian (Bokmål)".
Mi suposición para la pregunta (2) es que los datos brutos se presentarían como una cadena en lugar de formatearlos. Una prueba rápida verificaría esto.
[$-409]
no parece ser una condición. Parece ser un código de configuración regional.
Si formateo una celda con un formato personalizado de [$-409]m/d/yy h:mm AM/PM;@
, ingrese una fecha: 1/1/9
, luego vea el formato de la celda, veo una Formato de fecha de m/d/yy h:mm AM/PM
con una configuración regional (ubicación) de English (United States)
.
Si cambia el formato a algo así como [$-439]m/d/yy h:mm AM/PM;@
verá el contenido de la celda en otro idioma.
No estoy seguro de @
. Puede indicar cómo mostrar la fecha si la fuente o localidad correctas no está disponible.
Aquí hay una lista de identificadores de configuración regional asignados por Microsoft .