Формат числа Excel:Что такое «[$-409]»?
-
23-08-2019 - |
Вопрос
Я автоматизирую Excel, используя систему макросов как руководство к тому, что мне следует делать с помощью автоматизации.Когда я форматирую столбец как дату, макрос генерирует NumberFormat
чтобы столбец был:
[$-409]m/d/yy h:mm AM/PM;@
я пытаюсь расшифровать, что это на самом деле означает.Я собираю из поиска в Google, что значения в квадратных скобках являются "состояние", и это если условие:
$-409
будет выполнено, то он будет использовать NumberFormat
m/d/yy h:mm AM/PM
если нет, он использует NumberFormat
@
В ссылках, которые я нашел, говорится, что числовой формат "@" является Текстовый заполнитель
Итак, мои вопросы:
Что такое условное $-409 тестирование?Это сравнение чего-то с -409 (т.е. минус четыреста девять), и если да, то в чем заключается знак доллара это сравнение?
Если условие терпит неудачу и оно прибегает к Текстовый заполнитель "at-sign", как это отображается?
Решение
Чтобы прояснить то, что сказали другие:
[$-409] — это локаль код, заданный в шестнадцатеричном формате.Добавление к дате определенного кода локали определяет, что будет отображаться при использовании различных кодов формата даты и времени.Например, используя дату
28 ноября 1973 г., 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 上午
Поскольку поиск списка кодов локали похож на выдергивание зубов, вот несколько ссылок:
Константы и строки идентификатора языка (Основной источник, archive.is)
Коды локали Windows, отсортированные по локали (archive.is)
Коды локали Windows, отсортированные по локали (archive.org, archive.is)
Другие советы
Нааф и Грант Вагнер четко ответили на вопрос о вашем $-409
, поэтому я просто дополню недостающую часть:
Символ «@» после точки с запятой сообщает Excel, как обращаться с данными, если вы вводите строку вместо действительной даты.А @
просто означает «поместите сюда любой текст дословно».
Несколько быстрых примеров, иллюстрирующих эту мысль:
=TEXT("abc","hh:mm;@")
abc
=TEXT("abc","hh:mm;@@")
abcabc
Видеть Эта статья для подробного описания параметров форматирования текста.
Эта почта объясняет это.По сути, это 409 идентификатор локали для «Английского – США».Если вы использовали [$-414]
, например, тогда дата будет отформатирована как «Норвежский (букмол)».
Я предполагаю, что по вопросу (2) необработанные данные будут представлены в виде строки, а не отформатированы.Быстрый тест подтвердит это.
[$-409]
не похоже на состояние.Кажется, это код локали.
Если я форматирую ячейку с помощью Обычай формат [$-409]m/d/yy h:mm AM/PM;@
, введите дату: 1/1/9
, затем просмотрите форматирование ячейки, я вижу Дата формат m/d/yy h:mm AM/PM
с Локаль (местоположение) из English (United States)
.
Если вы измените формат на что-то вроде [$-439]m/d/yy h:mm AM/PM;@
вы увидите содержимое ячейки на другом языке.
Я не уверен насчет @
.Он может указывать, как отображать дату, если правильный шрифт или локаль недоступны.
Вот список Идентификаторы локали, назначенные Microsoft.
В Excel 2007 существует ошибка, из-за которой все общие форматы заменяются форматом даты типа [$-409].
Обычно использование [$-409] является приемлемым форматом.
Microsoft пока не предоставила исправления для этой ошибки.Эта ошибка обычно возникает в больших и общих книгах Excel.
Если у вас когда-либо случалось, что все ваши общие форматы меняются на даты, попробуйте перейти в «Стили ячеек», щелкнуть правой кнопкой мыши «Нормальный» и снова изменить обычный формат на «Общий».В поле будет указан тип формата «Обычный».Это ошибка, поскольку обычно она должна быть «общей», а не какой-то версией [$-409].
В итоге мне пришлось полностью удалить формат из книги.Для этого необходимо запретить общий доступ к рабочей книге.Чтобы удалить формат [$-409], указанный выше в типе ячеек «Обычный», из книги, щелкните ячейку правой кнопкой мыши, выберите «Пользовательский», прокручивайте, пока не найдете тип формата [$-409], указанный выше, затем удалите все форматы. вернется обратно к тому, что называется общим.