Hỏi cách hiển thị tên tháng tiếng anh trong excel? (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

vanphu_ht91

Thành viên mới
Tham gia
6/4/17
Bài viết
21
Được thích
0
1. Mình muốn khi nhập vào một ngày bất kỳ, dùng hàm nào để hiển thị tên tháng bằng tiếng anh?
VD: Nhập ngày 12/06/2017 thì ô bên cạnh hiển thị chư Jun, ngày 12/07/2017 thì ô bên cạnh hiển thị chư Jul, ....
2. Nếu tên tháng là tiếng anh có thể dùng công thức được không?
VD: Ô A3 nhập tên tháng là Jun thì ô B3 tự động nhảy tên tháng là Jul, C3 là Aug, ...
 
Có thể xài hàm CHOOSE(); Nhưng bạn chưa cho biết là ô bên cạnh là cạnh nào đó nha.
 
có thể dùng cách này
 

File đính kèm

  • z3242965817431_381f2b53dab943d2291d65a362aa1776.jpg
    z3242965817431_381f2b53dab943d2291d65a362aa1776.jpg
    99.3 KB · Đọc: 20
Thử công thức này trong B3 và kéo sang phải:

=TEXT(EDATE(A3&1,1),"mmm")

.
Như vầy nguy hiểm hơn:
=MID("JanFebAprMayJunJulAugSepOctNovDec", Month(ô bên cạnh), 3)
Hay là nguy hiểm một bậc nữa:
- đặt một cái name TENTHANG = {"Jan","Feb","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}
- công thức =INDEX(TENTHANG, Month(ô bên cạnh))
Sau đó muốn sửa tên tháng thành con giáp cũng được.

Bạn nào có cách nguy hiểm tột cùng thì góp cho vui. Đã lỡ cái mồ 5 năm xương cốt cải táng mất rồi.
 
Bạn nào có cách nguy hiểm tột cùng thì góp cho vui. Đã lỡ cái mồ 5 năm xương cốt cải táng mất rồi.
1.
- đặt một cái name TENTHANG = {1,2,3,4,5,6,7,8,9,10,11,12;"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}
- Công thức: =INDEX(TENTHANG,2, MATCH(MONTH(ô bên cạnh), INDEX(TENTHANG,1,0)))
2.
Cũng name như trên, công thức ít nguy hiểm:
= HLOOKUP(MONTH(ô bên cạnh),TENTHANG,2)
3. Hoặc nhẹ nhàng:
=LOOKUP(MONTH(ô kế bên),INDEX(TENTHANG,1,0),INDEX(TENTHANG,2,0))
4. Hoặc thời thượng:
=INDEX(TENTHANG,2,AGGREGATE(15,6,INDEX(TENTHANG,1,0),MONTH(ô kế bên)))
5. Hoặc tiến hóa theo 365
=LET(l,TENTHANG,m,MONTH(ô bên cạnh),LOOKUP(m,INDEX(l,1,0),INDEX(l,2,0)))
6. Cao siêu hơn với Lambda:
- Name thứ 2
MthName =LAMBDA(m,LOOKUP(MONTH(m),INDEX(TENTHANG,1,0),INDEX(TENTHANG,2,0)))
- Công thức nhẹ và rất nhẹ:
=MthName(ô bên cạnh)
 
Lần chỉnh sửa cuối:
=Choose(Month("B3"),"Tý", "Sữu",. . . . ,"Heo")
 
=Choose(Month("B3"),"Tý", "Sữu",. . . . ,"Heo")
Lý do "nguy hiểm" ở bài #9 là vì dùng name thì mình có thể đặt một loạt names, mỗi cái một loại tên tháng.

TENTHANG1 = { "Jan", "Feb",... }
TENTHANG2 = { "Tý", "Sửu",..." }

Lúc dùng thì chỉ việc lôi đúng tên.
Hoặc nếu muốn đồng bộ cả bảng tính thì đặt thêm cái name chủ TENTHANG. Muốn theo bộ nào thì đặt name chủ này bằng cái đó.
TENTHANG = TENTHANG2
 
Để ý bài #9 có câu "muốn đổi tên tháng thành con giáp", rồng rắn gì cũng được.

Nếu 365 thì tôi tìm cách sao cho chuyển rồng tháp rắn một cách dễ dàng, nhanh chóng.
Từ 1 đến 6 (kể cả 365) tôi đều dùng name TENTHANG ở câu 1. Vậy muốn con giáp thì sửa name này.
 
Lý do "nguy hiểm" ở bài #9 là vì dùng name thì mình có thể đặt một loạt names, mỗi cái một loại tên tháng.

TENTHANG1 = { "Jan", "Feb",... }
TENTHANG2 = { "Tý", "Sửu",..." }

Lúc dùng thì chỉ việc lôi đúng tên.
Nếu 365 và dùng Lambda thì dễ:
Name 1:
TenThang = {1,2,3,4,5,6,7,8,9,10,11,12;"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"; "Tý","Sửu","Dần","Mão","Thìn","Tỵ","Ngọ","Mùi","Thân","Dậu","Tuất","Hợi"}
Name2:
MthName =LAMBDA(m,t,LOOKUP(MONTH(m),INDEX(TenThang,1,0),INDEX(TenThang,t+1,0)))
Công thức:
=MthName(ô bên cạnh,1) '-> <Jan, Feb>
=MthName(ô bên cạnh,2) '-> <Tý, Sửu>

1646910497512.png

Nếu muốn thêm list chuột trâu cọp mèo thì chỉ cần sửa name TenThang thêm 1 dòng, không cần sửa name lambda.
Công thức tham số 2 là 3
=MthName(ô bên cạnh,3) '-> <Chuột, Trâu>

----------
Những công thức từ 1 đến 5 bài #10 cũng chỉ cần sửa chỗ nào tham số 2 thành 3 hoặc 4
 
Lần chỉnh sửa cuối:
Name 1:
TenThang = {1,2,3,4,5,6,7,8,9,10,11,12;"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"; "Tý","Sửu","Dần","Mão","Thìn","Tỵ","Ngọ","Mùi","Thân","Dậu","Tuất","Hợi"}
Đặt cái tên như vầy dài quá.
Tôi thì dùng chính sách chia để trị. Đặt cho mỗi mảng một name. Sau đó đặt cái name tổng, dùng hàm Choose gộp chúng lại thành mảng hai chiều.

Name2:
MthName =LAMBDA(m,t,LOOKUP(MONTH(m),INDEX(TenThang,1,0),INDEX(TenThang,t+1,0)))
Công thức:
=MthName(ô bên cạnh,1) '-> <Jan, Feb>
=MthName(ô bên cạnh,2) '-> <Tý, Sửu>
...
Lambda này chỉ "hơi" nguy hiểm thôi. Nó chưa cho thấy độ giản dị và dễ hiểu so với Index cổ điển.
 
Lambda này chỉ "hơi" nguy hiểm thôi. Nó chưa cho thấy độ giản dị và dễ hiểu so với Index cổ điển.
Tôi hiểu "nguy hiểm" theo nghĩa sau:
- Công thức nguy hiểm = công thức khủng = công thức phức tạp, nó phức tạp hóa 1 việc có thể xử lý đơn giản. Từ đó tôi viết các mục từ 1 đến 3.
- Mục 4 tôi dùng "thời thượng", vì tôi thấy có người ca tụng Aggregate quá đi, nên đua theo, và cũng khủng như 1, 2, 3
- Mục 5 tôi ghi "tiến hóa", nên không nguy hiểm, mặc dù cũng hơi khủng
- Lambda tôi gọi là "cao siêu", vì tôi thấy GPE ít người dùng, ít người biết hoặc viết về nó, trừ tôi. Nghĩa là tôi cao siêu. Ai phản đối thì ừ. (Tôi chưa dám gọi là "siêu hàm" như người ta, nên phải chấp nhận phản đối)

Dù vậy tôi cũng viết theo hướng mở, để có thể mở rộng ... như định nghĩa của anh về "nguy hiểm".
Bài đã được tự động gộp:

Tôi còn định viết hàm Index kết hợp hàm Rank, để gọi là "sáng tạo" hoặc "phát minh", nhưng thôi :P :P
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom