Как я получаю дневное имя в ячейку в Excel?

Учитывая дату, как я получаю день недели (например, В "понедельник") в ячейку в Excel?

33
задан 16.09.2009, 02:20

3 ответа

Простой пример:

Ячейка A1: 08.01.2009
Ячейка B1: =TEXT (РАБОЧИЙ ДЕНЬ (A1), "dddd")

Это, для данной даты, распечатает соответствующий день.

Это то, чего Вы желали?

54
ответ дан 07.12.2019, 09:06
  • 1
    Это только работает из-за причуды 01.01.1900, являющегося воскресеньем. Потеряйте буднюю функцию полностью, просто используйте =TEXT (A1, "dddd") (см. мой более полный ответ ниже), – AdamV 02.11.2009, 13:05

Другая возможность, в зависимости от того, что Вы хотите сделать с датой впоследствии, состоит в том, чтобы установить формат ячейки на Пользовательский: dddd

7
ответ дан 07.12.2019, 09:06

Ответ, данный выше, только работает счастливой случайностью, потому что Excel думает, что 01.01.1900 был воскресеньем*, и Excel по умолчанию использует воскресенье в качестве первого дня недели для Будней функции.

То, что Вы на самом деле вычисляете в том методе, является днем недели как число, затем форматируя что как день на основе того числа, интерпретируемого как дата. Например, если Ваша дата является 02.01.2003, и Вы используете БУДНЮЮ функцию, это приводит к 7 (=Saturday). Когда Вы затем форматируете это как "dddd", Вы на самом деле получаете дневное имя 7-го дня в Excel с его "эпохи", т.е. 01.07.1900, который, оказывается, Saturday*. Эта формула повредится, если кто-то откроет ее, кому выбрали опцию для использования системы дат на основе 1904, поскольку 01.01.1904 не был воскресеньем, а пятницей. (да я знаю, что едва ли кто-то использует это, но Вы не хотите создавать решение, которое полагается, которые делают Вас?)

Можно сделать формулу короче, быстрее и более устойчивый просто при помощи

=TEXT(A1,"dddd")

Вы могли, конечно, просто отформатировать сами ячейки даты с пользовательским форматом, как уже предложено, в зависимости от того, нужно ли Вам действительно это в отдельном столбце или нет. Я часто использую форматы даты такой как

ddd dd mmm yyyy

для предоставления, например, суббота 01 февраля 2003 так, дата является явной, но показывает буднее имя также.

Используя второй столбец и ТЕКСТОВУЮ функцию важно, если Вы хотите использовать рабочий день явно где-нибудь в слиянии (например), так же для вещей как валюты и так далее Excel> Word, объединяющий передачи фактическая базовая хранимая сумма, а не экранная отформатированная версия, таким образом, независимо от формата ячеек, Word видит некоторое ужасное число. Истинное текстовое поле передается, 'как' и отображается правильно в Word.

*на самом деле это - понедельник, но Excel был записан для соответствия неправильным датам в Lotus 1-2-3, который рассматривал 1900 как високосный год, когда это не.

19
ответ дан 07.12.2019, 09:06

Теги

Похожие вопросы