З огляду на дату, як я можу перенести день тижня (наприклад, "понеділок") у клітинку в Excel?
З огляду на дату, як я можу перенести день тижня (наприклад, "понеділок") у клітинку в Excel?
Відповіді:
Простий приклад:
Комір A1: 8/8/2009
клітинка B1: = ТЕКСТ (ТИЖДЕНЬ (A1), "dddd")
Це за вказану дату надрукує відповідний день.
Це те, що ти побажав?
Відповідь, подана вище, працює лише флюком, оскільки Excel вважає, що 1/1/1900 була неділою *, а за замовчуванням Excel використовує неділю як перший день тижня для функції Weekday.
Те, що ви насправді обчислюєте в цьому методі, - це день тижня як число, а потім форматувати його як день на основі цього числа, що інтерпретується як дата. Наприклад, якщо ваша дата 1/2/2003, і ви використовуєте функцію WEEKDAY, це призводить до 7 (= субота). Коли ви форматуєте це як "dddd", ви фактично отримуєте назву дня 7-го дня в Excel з моменту його "епохи", тобто 7/1/1900, що трапляється в суботу *. Ця формула порушиться, якщо хтось відкриє її, у кого вибрано можливість використовувати систему дат 1904, оскільки 1/1/1904 була не неділею, а п’ятницею. (так, я знаю, що навряд чи хтось використовує це, але ви не хочете будувати рішення, яке залежить від цього?)
Ви можете зробити формулу коротшою, швидшою та міцнішою, просто використовуючи
=TEXT(A1,"dddd")
Звичайно, ви можете просто відформатувати самі клітинки дати у власному форматі, як уже було запропоновано, залежно від того, вам це справді потрібно в окремому стовпчику чи ні. Я часто використовую такі формати дат, як
ddd dd mmm yyyy
дати, наприклад, Сб 01 лютого 2003 року, тому дата явна, але також відображається назва буднього дня.
Використання другого стовпця та функції TEXT є важливим, якщо ви хочете використовувати будній день явно десь у об'єднанні пошти (наприклад), аналогічно для таких речей, як валюти тощо. Excel> Об'єднання Word передає фактичне базове збережене значення, а не на -форматована версія, тому незалежно від формату комірки Word бачить якесь жахливе число. Справжнє текстове поле передається "як є" і відображається належним чином у Word.
* насправді це понеділок, але Excel був написаний, щоб відповідати невірним датам у Lotus 1-2-3, який трактував 1900 рік як високосний рік, коли його немає.
Іншою можливістю, залежно від того, що ви хочете зробити з датою згодом, є встановити формат комірки на Custom: dddd
=A1
у прикладі, з першої відповіді.
Я виявив, що IF
заяви про вкладення можуть бути громіздкими, але це працює. Якщо ви хочете трохи зберегти набравши текст, ви можете спробувати це:
=CHOOSE(WEEKDAY(A2), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")
Або якщо вам потрібні повні імена:
=CHOOSE(WEEKDAY(A2), "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
У цьому прикладі "A2" може бути будь-якою коміркою (або формулою), що містить дату, про яку йдеться. Наприклад:
=CHOOSE(WEEKDAY(TODAY()), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")
надрукував би абревіатуру з трьох літер для того, що є сьогодні.
ви також можете локалізувати відповідь, скориставшись [$ nnn] перед форматом (таким чином, спеціальний код: [$ nnn] dddd; @). змінити nnn за допомогою відповідного мовного коду. у мене немає списку, але якимось чином англійським кодом є -409 (а мій місцевий -421).
Я думаю, що ви можете експериментувати з форматом Числа, змінити мовне поле, а потім змінити його на звичайний формат.
Комірка A1: клітина B1 1/8/2009: = A1, потім натисніть ctrl + 1 (формат клітинки) виберіть вкладку номера, натисніть спеціальну, а потім введіть "DDDD" на тип txtbox
Показує поточну дату
=TEXT(WEEKDAY(MONTH(TODAY())),"dddd")
Відображає поточну дату з необхідним необхідним текстом.
=CHOOSE(WEEKDAY(MONTH(TODAY())), "S-U-N-D-A-Y","M-O-N-D-A-Y","T-U-E-S-D-A-Y","W-E-D-N-E-S-D-A-Y","T-H-R-S-D-A-Y","F-R-I-D-A-Y","S-A-T-U-R-D-A-Y")
Функція WEEKDAY може використовуватися у кодах Vba. Наприклад :
Label1.Caption = WeekdayName(Weekday(TextBox1, 0), False, 0)
Ім'я дня отримано з TextBox1 у наведеному вище прикладі. Результат є "понеділок" .
Я використав цю функцію, коли створив форму користувача про введення дати в активну клітинку за допомогою клацання правою кнопкою миші.