Формат номера Excel: что такое "[$ -409]"?
Я автоматизирую excel, используя макросистему как руководство к тому, что я должен делать с помощью автоматизации. Когда я форматирую столбец в качестве даты, макрос сгенерировал NumberFormat
для столбца:
[$-409]m/d/yy h:mm AM/PM;@
Я пытаюсь расшифровать то, что это действительно значит. я собираю из googling, что значения в квадратных скобках являются "условием" и что если условие:
$-409
то он будет использовать NumberFormat
m/d/yy h:mm AM/PM
Если нет, он использует NumberFormat
@
Ссылки, которые я нахожу, говорят, что формат числа "@" является Text Placeholder
Итак, мои вопросы:
-
Что такое условное тестирование $- 409? Сравнивает ли что-то с -409 (т.е. Отрицательно четыреста девять), и если да, то какой знак доллара он сравнивает с?
-
Если условие терпит неудачу и прибегает к Text Placeholder "at-sign", что он показывает как?
Ответы
Ответ 1
Чтобы уточнить, что сказали другие:
[$ -409] - это код locale, заданный в шестнадцатеричном формате. Префикс даты с определенным кодом локали определяет, что отображается при использовании разных кодов формата даты. Например, используя дату
28 ноября 1973 г. 11:28:13 AM
в качестве примера для следующей таблицы:
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 上午
Так как поиск списка языковых кодов походит на вытягивание зубов, вот несколько ссылок:
Константы и строки идентификатора языка (первичный источник)
Коды локалей Windows, отсортированные по локали
Коды локалей Windows, отсортированные по локали
Ответ 2
Нааф и Грант Вагнер аккуратно ответили на вопрос о вашем $-409
, поэтому я просто воспользуюсь отсутствующей частью:
"@" после точки с запятой сообщает Excel, как обрабатывать данные, если вы вводите строку вместо допустимой даты. @
просто означает "размещать любой текст здесь, дословно".
Несколько быстрых примеров для иллюстрации:
=TEXT("abc","hh:mm;@")
abc
=TEXT("abc","hh:mm;@@")
abcabc
Подробнее о вариантах форматирования текста см. в этой статье.
Ответ 3
Этот пост объясняет это. В основном 409 - это идентификатор локали для "Английский - США". Например, если вы использовали [$-414]
, тогда дата будет отформатирована для "Norwegian (Bokmål)".
Мое предположение для вопроса (2) заключается в том, что исходные данные будут представлены как строка вместо форматирования. Быстрый тест подтвердит это.
Ответ 4
[$-409]
не является условием. Кажется, это код Locale.
Если я отформатирую ячейку с Пользовательский формат [$-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.
Ответ 5
В Excel 2007 есть ошибка, которая меняет все общие форматы на формат даты [$ -409].
Обычно использование [$ -409] - это хороший формат.
Исправлена ошибка, предоставленная Microsoft.
Эта ошибка обычно происходит в книгах больших и общих книг Excel.
Если у вас когда-либо есть опыт, когда все ваши общие форматы меняются до дат, попробуйте перейти к Cell Styles, щелкнув правой кнопкой мыши на Normal и изменив нормальную обратную связь на общий. Он укажет вам в поле тип формата для Normal. Это ошибка, поскольку она обычно должна быть "общей", а не некоторой версией [$ -409].
В итоге мне пришлось полностью удалить формат из книги. Чтобы это сделать, книга должна быть не разделена. Чтобы удалить формат [$ -409], указанный выше под типом ячейки "Обычный" из рабочей книги, щелкните правой кнопкой мыши по ячейке, выберите "Пользовательский", прокрутите страницу до тех пор, пока не найдете тип формата [$ -409], указанный выше, удалите все форматы вернется к тому, что называется общим.