Подтвердить что ты не робот

Формат номера 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", что он показывает как?

4b9b3361

Ответ 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], указанный выше, удалите все форматы вернется к тому, что называется общим.