dungpham01
Thành viên mới

- Tham gia
- 22/7/25
- Bài viết
- 27
- Được thích
- 17
Có lịch nào mà chọn ngày xong nhập kết quả vào ô không bạn?em xem trên tiktok thấy họ viết dài thườn thượt, nay rảnh rỗi em cũng thử viết xem ai ngờ nó cũng đơn giản
View attachment 309804
em đăng bài viết này để khoe thôi
File .xlsx mà anh hỏi vậy thì khó quá rồi.Có lịch nào mà chọn ngày xong nhập kết quả vào ô không bạn?
Cũng góp vui cùng bạn. Biết là mình viết ra cũng chưa chắc đã sử dụng tớiem xem trên tiktok thấy họ viết dài thườn thượt, nay rảnh rỗi em cũng thử viết xem ai ngờ nó cũng đơn giản
em đăng bài viết này để khoe thôi
=DROP(REDUCE(0,DATE(A1,SEQUENCE(12),1),LAMBDA(x,v,LET(a,SEQUENCE(6,7)+v-WEEKDAY(v,1),IFNA(HSTACK(x,VSTACK(TEXT(v,"mmm"),TEXT(SEQUENCE(,7),"ddd"),IF(MONTH(v)=MONTH(a),a,"")),""),"")))),,1)
Hỏi xa tí chứ biết rồi.File .xlsx mà anh hỏi vậy thì khó quá rồi.
Công thức của bạn ngắn gọn quá. phần thuật toán thì giống hệt mình. đúng là 2 ý tưởng lớn gặp nhau.Cũng góp vui cùng bạn. Biết là mình viết ra cũng chưa chắc đã sử dụng tới, học tư duy để viết hàm thôi
không bạn ạ. bây giờ ai chơi excel 2010 nữa, bét nhất cũng phải 2016 rồi. tại lịch này phải dùng đến các hàm mảng, hàm lambda, reduce để tạo vòng lặp như lập trình nên bạn phải cài excel 2024 mới dùng được nhé.@dungpham01 : Bạn có file dùng công thức để chạy được ra kết quả lịch chính xác khi thay đổi số năm tại cell A1 trên Excel 2010 không?
Bạn có thể dùng hàm mảng để tạo trên excel 2010:@dungpham01 : Bạn có file dùng công thức để chạy được ra kết quả lịch chính xác khi thay đổi số năm tại cell A1 trên Excel 2010 không?
=IF(MONTH(DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1),1)+ROW(A1)*7+COLUMN(A1)-7)=$B$1, DAY(DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1),1)+ROW(A1)*7+COLUMN(A1)-7),"")
Nếu bạn muốn 12 tháng thì tạo 12 mảng tương ứng với số tháng trong năm là được. khi đó nếu bạn thay đổi A1 thì các mảng cũng thay đổi theo.@LOGANWover : Bạn tạo file như file trong #1 được không? Chỉ thay đổi số năm tại A1 là có tất cả 365 ngày trong năm.
Nhưng cái công thức đó là AI viết hay nó gợi ý bạn vậy. Nom cách sử dụng hàm, đặt Lambda giống AICông thức của bạn ngắn gọn quá. phần thuật toán thì giống hệt mình. đúng là 2 ý tưởng lớn gặp nhau.![]()
=MAKEARRAY(13,38,LAMBDA(s,r,LET(a,s-1,b,WEEKDAY(DATE(A1,a,1)),IFS((s=1)*(r>1),TEXT(r-1,"ddd"),r=1,"Tháng "&a,MONTH(DATE(A1,a,r)-b)=a,r-b,1,""))))
Bạn làm ra file như ảnh giúp tôi nha. Tôi không biết về công thức mảng. Có chăng là biết sử dụng kết quả, hihi.Nếu bạn muốn 12 tháng thì tạo 12 mảng tương ứng với số tháng trong năm là được. khi đó nếu bạn thay đổi A1 thì các mảng cũng thay đổi theo.
View attachment 309812
Mình tự viết 100% đấy. Mình viết theo phong cách code bạn ạ. Mình thành thạo autolisp mấy năm nay rồi đấyNhưng cái công thức đó là AI viết hay nó gợi ý bạn vậy. Nom cách sử dụng hàm, đặt Lambda giống AI, Còn Makearray thì tạo lịch kiểu này cũng được, bạn thử xem
Mã:=MAKEARRAY(13,38,LAMBDA(s,r,LET(a,s-1,b,WEEKDAY(DATE(A1,a,1)),IFS((s=1)*(r>1),TEXT(r-1,"ddd"),r=1,"Tháng "&a,MONTH(DATE(A1,a,r)-b)=a,r-b,1,""))))