Excel数字格式:什么是“”?
我自动化的Excel,使用macros观系统作为指导,我应该通过自动化。 当我格式化一列作为date,macros生成列的NumberFormat
是:
[$-409]m/d/yy h:mm AM/PM;@
我试图破译这是什么意思。 我从Google搜集,方括号中的值是一个“条件” ,如果条件:
$-409
遇到,那么它将使用NumberFormat
m/d/yy h:mm AM/PM
如果不是,则使用NumberFormat
@
我发现的引用说,数字格式“@”是一个文本占位符
所以我的问题是:
-
什么是有条件的$ -409testing? 是比较一下与-409 (即负四百九 ),如果是的话,它与美元的比较是什么?
-
如果条件失败,并且使用文本占位符 “at-sign”,它会显示什么?
澄清别人的话:
[$ -409]是一个以hex给出的语言环境代码。 使用特定区域代码前缀date决定了使用各种date时间格式代码时显示的内容。 例如使用date
1973年11月28日上午11:28:13
作为下表的一个例子:
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 上午
所以最后有两个不同的区域设置标识符的相同的格式代码给出了不同的结果:
[$-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 上午
由于find区域代码列表就像拉牙,这里有一些参考:
语言标识符常量和string (主要来源)
Windows区域代码按区域sorting
Windows区域代码按区域sorting
纳夫和格兰特瓦格纳已经整齐地回答了关于你的$-409
的问题,所以我只需填写缺less的部分:
分号后的“@”告诉Excel如何inputstring而不是有效的date来处理数据。 @
仅仅意味着“在这里放置任何文本,逐字”。
一些快速的例子来说明这一点:
=TEXT("abc","hh:mm;@") abc
=TEXT("abc","hh:mm;@@") abcabc
有关文本格式选项的详细说明,请参阅这篇文章 。
这篇文章解释了它。 基本上409是“英国 – 美国”的区域设置ID 。 例如,如果您使用[$-414]
,那么date将被格式化为“Norwegian(Bokmål)”。
我对问题(2)的猜测是原始数据将以stringforms呈现,而不是被格式化。 快速testing将validation这一点。
[$-409]
似乎不是一个条件。 这似乎是一个区域代码。
如果我使用[$-409]m/d/yy h:mm AM/PM;@
的自定义格式格式化单元格,请inputdate: 1/1/9
,然后查看单元格的格式, m/d/yy h:mm AM/PM
date格式m/d/yy h:mm AM/PM
, English (United States)
的语言环境(位置 English (United States)
。
如果将格式更改为[$-439]m/d/yy h:mm AM/PM;@
您将看到另一种语言的单元格内容。
我不确定@
。 如果正确的字体或区域设置不可用,它可能会指示如何显示date。
这是由Microsoft分配的区域设置ID的列表。
Excel 2007中存在一个错误,将所有常规格式更改为[$ -409]types的date格式。
通常,使用[$ -409]是一个好的格式。
没有修复微软提供的错误。 此错误通常发生在大型和共享Excel工作簿中。
如果您曾经有过将所有常规格式更改为date的经验,请尝试进入“单元格样式”,右键单击“正常”并将普通格式修改为普通格式。 它会在框中告诉你正常的格式types。 这是错误,因为它通常应该是“一般”而不是一些[$ -409]的版本。
我最终不得不从工作簿中完全删除格式。 工作簿必须取消共享才能做到这一点。 要从工作簿中删除上面标识的“正常”单元格types[$ -409],右键单击一个单元格,select自定义,滚动直到find上面标识的[$ -409]格式types,然后删除所有格式将返回到所谓的一般。