Làm cách nào để có được tên ngày vào một ô trong Excel?


33

Cho một ngày, làm thế nào để tôi có được ngày trong tuần (ví dụ: "Thứ Hai") vào một ô trong Excel?


4
Chà, bạn có thể gõ MONDAY vào ô bằng bàn phím của mình ... nhưng bằng cách nào đó tôi nghĩ bạn có ý gì đó khác.
Mike Cooper

Oh yeah: o) Tôi thực sự có thể gõ nó. Tôi sẽ cập nhật câu hỏi để làm cho nó cụ thể hơn
Don Vince

Câu trả lời:


54

Ví dụ đơn giản:

Ô A1: 1/8/2009 Ô
B1: = TEXT (TUẦN (A1), "dddd")

Điều này sẽ, cho ngày đã cho, in ngày tương ứng.

Đây có phải là những gì bạn muốn?


Cảm ơn nhiều! Lỗi đánh máy nhỏ: có một dấu chấm phẩy ở giữa nên là dấu phẩy.
Don Vince

@Don Vince - Up, xin lỗi về điều đó.
Rook

2
Dấu chấm phẩy được yêu cầu trong các bản địa hóa (Cài đặt khu vực trong Windows) sử dụng dấu phẩy cho dấu tách thập phân. Giống như trong các ngôn ngữ mà tiếng Anh 1.000.00 (một nghìn) sẽ được viết là 1.000,00 và do đó sẽ được nhập là 1000,00 trong Excel. Tôi thực sự nghĩ rằng một dấu chấm phẩy luôn được chấp nhận, nhưng tôi có thể sai về điều đó.
Arjan

bạn được chào đón :) và câu trả lời đúng xứng đáng được nâng cấp +1

4
Điều này chỉ hoạt động vì một sự kỳ lạ của 1/1/1900 là Chủ nhật. Mất hoàn toàn chức năng ngày trong tuần, chỉ cần sử dụng = TEXT (A1, "dddd") (xem câu trả lời đầy đủ hơn của tôi bên dưới)
AdamV

19

Câu trả lời được đưa ra ở trên chỉ hoạt động bằng fluke vì Excel nghĩ rằng 1/1/1900 là Chủ nhật * và theo mặc định, Excel đang sử dụng Chủ nhật là ngày đầu tuần cho chức năng Ngày trong tuần.

Những gì bạn đang thực sự tính toán trong phương pháp đó là ngày trong tuần dưới dạng một số, sau đó định dạng đó là một ngày dựa trên số đó được hiểu là một ngày. Ví dụ: nếu ngày của bạn là 1/2/2003 và bạn sử dụng hàm WEEKDAY, kết quả này sẽ là 7 (= Thứ Bảy). Sau đó, khi bạn định dạng này là "dddd", bạn thực sự nhận được tên ngày của ngày thứ 7 trong Excel kể từ "epoch", tức là 7/1/1900, tức là thứ bảy *. Công thức này sẽ bị phá vỡ nếu ai đó mở nó, người có tùy chọn được chọn để sử dụng hệ thống ngày dựa trên 1904, vì 1/1/1904 không phải là Chủ nhật, mà là Thứ Sáu. (vâng, tôi biết hầu như không ai sử dụng điều đó, nhưng bạn không muốn xây dựng một giải pháp dựa vào đó phải không?)

Bạn có thể làm cho công thức ngắn hơn, nhanh hơn và mạnh mẽ hơn chỉ bằng cách sử dụng

=TEXT(A1,"dddd")

Tất nhiên, bạn có thể chỉ định dạng các ô ngày với định dạng tùy chỉnh như đã đề xuất, tùy thuộc vào việc bạn có thực sự cần điều này trong một cột riêng biệt hay không. Tôi thường sử dụng các định dạng ngày như

ddd dd mmm yyyy

ví dụ: Sat 01 tháng 2 năm 2003 để ngày rõ ràng nhưng cũng hiển thị tên ngày trong tuần.

Sử dụng cột thứ hai và hàm TEXT là điều cần thiết nếu bạn muốn sử dụng rõ ràng ngày trong tuần ở đâu đó trong hợp nhất thư (ví dụ), tương tự đối với những thứ như tiền tệ, v.v. - phiên bản được định dạng trên màn hình, do đó, bất kể định dạng ô, Word đều thấy một số khủng khiếp. Một trường văn bản thực sự được thông qua 'như hiện tại' và hiển thị đúng trong Word.

* thực tế là thứ Hai nhưng Excel đã được viết để khớp với các ngày không chính xác trong Lotus 1-2-3, coi năm 1900 là năm nhuận khi không.


Tôi đã nâng cấp nó trước khi chỉnh sửa của bạn. Bây giờ thậm chí còn tốt hơn.
Jeroen Wiert Pluimers

7

Một khả năng khác, tùy thuộc vào những gì bạn muốn làm với ngày sau đó, là đặt định dạng của ô thành Tùy chỉnh: dddd


Tuyệt vời! Đó là một mẹo nhỏ và rất tốt cho trường hợp bạn không muốn sử dụng cột khác. Cảm ơn
Don Vince

Ngay cả khi bạn muốn sử dụng một cột khác, bạn có thể làm điều này và chỉ cần nhập một công thức như =A1trong ví dụ từ câu trả lời đầu tiên.
Arjan

5

Tôi thấy rằng các IFbáo cáo lồng nhau có thể là cồng kềnh, nhưng nó hoạt động. Tuy nhiên, nếu bạn muốn lưu một chút gõ, bạn có thể thử điều này:

=CHOOSE(WEEKDAY(A2), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")

Hoặc, nếu bạn cần tên đầy đủ:

=CHOOSE(WEEKDAY(A2), "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")

Trong ví dụ này, "A2" có thể là bất kỳ ô (hoặc công thức) nào chứa ngày được đề cập. Ví dụ:

=CHOOSE(WEEKDAY(TODAY()), "Sun","Mon","Tue","Wed","Thur","Fri","Sat") 

sẽ in ba chữ viết tắt cho bất cứ điều gì ngày hôm nay là.


1

bạn cũng có thể bản địa hóa câu trả lời bằng cách sử dụng [$ nnn] trước định dạng (vì vậy mã tùy chỉnh là: [$ nnn] dddd; @). thay đổi nnn với mã ngôn ngữ thích hợp. Tôi không có danh sách, nhưng bằng cách nào đó, mã tiếng Anh là -409 (và địa phương của tôi là -421).

Tôi nghĩ bạn có thể thử nghiệm với định dạng Số, thay đổi trường ngôn ngữ, sau đó thay đổi lại thành định dạng tùy chỉnh.


1
Chào mừng bạn đến với SuperUser. Câu trả lời phải luôn luôn khép kín, vì vậy vui lòng mở rộng câu trả lời của bạn thành một ví dụ hoạt động. Ngoài ra, chúng tôi không biết bạn đến từ đâu, vì vậy địa phương của tôi có một chút không đặc biệt.
Tim

1

Ô A1: 1/8/2009 Ô B1: = A1 sau đó nhấn ctrl + 1 (ô định dạng) chọn tab số, nhấp vào tùy chỉnh rồi gõ "DDDD" trên loại txtbox


0

Hiển thị ngày hiện tại

=TEXT(WEEKDAY(MONTH(TODAY())),"dddd")  

Hiển thị ngày hiện tại với văn bản yêu cầu.

=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")

Đây chỉ là sự trùng lặp của một số câu trả lời trước đó.
fixer1234

0

Các ô định dạng - Ngày - Loại lịch (chọn tiếng Anh Gregorian) - Loại (phần có định dạng bắt buộc của bạn Thứ tư, ngày 14 tháng 3 năm 2001)


0

Chức năng TUẦN có thể được sử dụng trong Mã Vba. Ví dụ :

Label1.Caption = WeekdayName(Weekday(TextBox1, 0), False, 0)

Tên ngày được lấy từ TextBox1 trong ví dụ trên. Kết quả là "Thứ Hai" .

Tôi đã sử dụng chức năng này khi tôi tạo biểu mẫu người dùng về mục nhập ngày vào ô hiện hoạt với menu chuột phải.

Mẫu có thể được xem xét ở đây


Gợi ý: những gì độc đáo về câu trả lời của bạn, phần trực tiếp trả lời câu hỏi, là tên ngày, không phải ngày trong tuần. Đó là thuật ngữ để tập trung vào câu đầu tiên.
fixer1234
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.