1 Công thức ra cuốn lịch (3 người xem)

Liên hệ QC

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

  • Tôi tuân thủ nội quy khi đăng bài

    dungpham01

    Thành viên mới
    Tham gia
    22/7/25
    Bài viết
    27
    Được thích
    17
    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
    screenshot_1758781280.png
    em đăng bài viết này để khoe thôi
     

    File đính kèm

    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
    em đăng bài viết này để khoe thôi
    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 :D, học tư duy để viết hàm thôi
    Mã:
    =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)
    1758784090181.png
     
    @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?
     
    @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?
    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:
    Mã:
    =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),"")
     

    File đính kèm

    @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.
     
    @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.
    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.
    1758790162928.png
     
    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.:drinks:
    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 AI :D, 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,""))))
     
    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 AI :D, 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,""))))
    Mình tự viết 100% đấy. Mình viết theo phong cách code bạn ạ. Kiểu của AI là bắt chước coder. Mình thành thạo autolisp mấy năm nay rồi đấy. còn vba ở mức cơ bản mới đọc hết quyển 1 của thầy Hướng.
     
    Lần chỉnh sửa cuối:

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

    Back
    Top Bottom