Liệt kê các ngày cộng dồn mong muốn vào 1 ô. Nhờ mọi người giúp mình ạ.

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Manhhung90

Thành viên hoạt động
Tham gia
3/4/20
Bài viết
119
Được thích
8
Em muốn liệt kê tất cả các ngày mong muốn vào 1 ô như hình ảnh ạ. Nhờ mọi người giúp mình với ạ.
 

File đính kèm

  • 1000005749.jpg
    1000005749.jpg
    119.9 KB · Đọc: 23
Em muốn liệt kê tất cả các ngày mong muốn vào 1 ô như hình ảnh
Bạn làm theo các bước sau:
  • Nhấn F2 để vào chế độ nhập liệu (có thể bỏ qua)
  • Nhập ngày mong muốn thứ nhất
  • Nhập dấu phẩy (,)
  • Nhập ngày mong muốn thứ hai
  • Nhập dấu phẩy (,)
  • ...
  • Lặp lại cho đến khi hết ngày mong muốn. Lưu ý sau ngày cuối cùng không cần nhập dấu phẩy (,)
  • Nhấn Enter để hoàn tất và thoát chế độ nhập liệu
 
Bạn làm theo các bước sau:
  • Nhấn F2 để vào chế độ nhập liệu (có thể bỏ qua)
  • Nhập ngày mong muốn thứ nhất
  • Nhập dấu phẩy (,)
  • Nhập ngày mong muốn thứ hai
  • Nhập dấu phẩy (,)
  • ...
  • Lặp lại cho đến khi hết ngày mong muốn. Lưu ý sau ngày cuối cùng không cần nhập dấu phẩy (,)
  • Nhấn Enter để hoàn tất và thoát chế độ nhập liệu
Bác đùa em quá ạ.
 
Cái này làm bằng hàm thì em hông biết. Chờ các anh chị thầy cô vào hỗ trợ
 
Do mình không biết làm mới đưa file mình mong muốn kết quả đoạn bôi vàng như vậy.
Quan trọng là ở đâu ra các ngày trong ô bôi vàng. Nó ở trong đầu bạn mà không thể hiện bằng văn bản hay minh họa bằng các ô excel thì không ai làm được. Người đọc có thể đoán ra, nhưng bạn phải tự nói để khỏi đoán nhầm mỗi người đoán 1 kiểu.
 
Quan trọng là ở đâu ra các ngày trong ô bôi vàng. Nó ở trong đầu bạn mà không thể hiện bằng văn bản hay minh họa bằng các ô excel thì không ai làm được. Người đọc có thể đoán ra, nhưng bạn phải tự nói để khỏi đoán nhầm mỗi người đoán 1 kiểu.
Dạ. Ngày trong ô vàng là các ngày cộng dồn lên theo số ngày ở ô C4 ạ. Ví dụ: ngày bắt đầu là ngày 1/1/2023, các ngày tiếp theo sẽ cộng dồn 180 ngày đến ngày hiện tại ạ.
 
Dạ. Ngày trong ô vàng là các ngày cộng dồn lên theo số ngày ở ô C4 ạ. Ví dụ: ngày bắt đầu là ngày 1/1/2023, các ngày tiếp theo sẽ cộng dồn 180 ngày đến ngày hiện tại ạ.
Vậy là ai định giúp lại phải tự nhặt các ngày đó để làm ví dụ hộ bạn đã, sau đó mới nghĩ đến việc làm thế nào để cộng dồn được. Chờ được ai đủ kiên nhẫn làm hết các bước này e rằng hơi lâu. Có khi người ấy còn chưa sinh ra cũng nên.
 
Vậy là ai định giúp lại phải tự nhặt các ngày đó để làm ví dụ hộ bạn đã, sau đó mới nghĩ đến việc làm thế nào để cộng dồn được. Chờ được ai đủ kiên nhẫn làm hết các bước này e rằng hơi lâu. Có khi người ấy còn chưa sinh ra cũng nên.
Cái đề bài này đâu có gì gây khó hiểu đâu nhỉ.
Chủ thớt chỉ cần ví dụ 1 ngày là: 1/1/2023, sau đó cứ cộng lũy tiếm tiếp là ra mấy ngày trong ô màu vàng.
1/1/2023 + 180 = 27/12/2023 + 180 = 24/06/2024 +....
Bác nào biết công thức thì làm công thức, không thì xử lý bằng VBA vậy thôi
 
Bài này dùng công thức cho excel 2016 thì không tổng quát được. Trong lúc chờ đợi ý kiến thêm thì tham khảo hàm tự tạo này.
Taochuoingay(ngày bắt đầu; ngày kết thúc; khoảng cách ngày)
Mã:
Function Taochuoingay(ngaybd As Date, ngaykt As Date, kc As Long) As String
    Dim chuoingay As String
    Dim ngay As Date
    
    chuoingay = ""
    ngay = ngaybd + kc
    chuoingay = chuoingay & Format(ngay, "dd/mm/yyyy") & ", "
    
    If ngay > ngaykt Then
        chuoingay = ""
    End If
    
    Do While ngay < ngaykt
        ngay = ngay + kc
        If ngay <= ngaykt Then
            chuoingay = chuoingay & Format(ngay, "dd/mm/yyyy") & ", "
        End If
    Loop

    If ngay > ngaykt Then
        chuoingay = chuoingay & Format(ngaykt, "dd/mm/yyyy")
    End If

    If Right(chuoingay, 1) = " " Then
        chuoingay = Left(chuoingay, Len(chuoingay) - 2)
    End If

    Taochuoingay = chuoingay

End Function
Xem thêm trong file
 

File đính kèm

  • file.xlsm
    18.2 KB · Đọc: 8
Cái đề bài này đâu có gì gây khó hiểu đâu nhỉ.
Chủ thớt chỉ cần ví dụ 1 ngày là: 1/1/2023, sau đó cứ cộng lũy tiếm tiếp là ra mấy ngày trong ô màu vàng.
1/1/2023 + 180 = 27/12/2023 + 180 = 24/06/2024 +....
Bác nào biết công thức thì làm công thức, không thì xử lý bằng VBA vậy thôi
Đúng như bạn nói nhưng do mình không trình bày rõ ạ. Cảm ơn bạn
 
Cái đề bài này đâu có gì gây khó hiểu đâu nhỉ.
Chủ thớt chỉ cần ví dụ 1 ngày là: 1/1/2023, sau đó cứ cộng lũy tiếm tiếp là ra mấy ngày trong ô màu vàng.
1/1/2023 + 180 = 27/12/2023 + 180 = 24/06/2024 +....
Bác nào biết công thức thì làm công thức, không thì xử lý bằng VBA vậy thôi
Có những người giúp biết rằng ý là như vậy, nhưng chủ bài ví dụ tiết kiệm quá nên người giúp cũng nản anh ạ.
 
Bài này dùng công thức cho excel 2016 thì không tổng quát được. Trong lúc chờ đợi ý kiến thêm thì tham khảo hàm tự tạo này.
Taochuoingay(ngày bắt đầu; ngày kết thúc; khoảng cách ngày)
Mã:
Function Taochuoingay(ngaybd As Date, ngaykt As Date, kc As Long) As String
    Dim chuoingay As String
    Dim ngay As Date
   
    chuoingay = ""
    ngay = ngaybd + kc
    chuoingay = chuoingay & Format(ngay, "dd/mm/yyyy") & ", "
   
    If ngay > ngaykt Then
        chuoingay = ""
    End If
   
    Do While ngay < ngaykt
        ngay = ngay + kc
        If ngay <= ngaykt Then
            chuoingay = chuoingay & Format(ngay, "dd/mm/yyyy") & ", "
        End If
    Loop

    If ngay > ngaykt Then
        chuoingay = chuoingay & Format(ngaykt, "dd/mm/yyyy")
    End If

    If Right(chuoingay, 1) = " " Then
        chuoingay = Left(chuoingay, Len(chuoingay) - 2)
    End If

    Taochuoingay = chuoingay

End Function
Xem thêm trong file
Cảm ơn bạn rất nhiều! Code chạy rất ổn và đúng theo ý muốn ạ
 
Bài này dùng công thức cho excel 2016 thì không tổng quát được. Trong lúc chờ đợi ý kiến thêm thì tham khảo hàm tự tạo này.
Taochuoingay(ngày bắt đầu; ngày kết thúc; khoảng cách ngày)
Mã:
Function Taochuoingay(ngaybd As Date, ngaykt As Date, kc As Long) As String
    Dim chuoingay As String
    Dim ngay As Date
  
    chuoingay = ""
    ngay = ngaybd + kc
    chuoingay = chuoingay & Format(ngay, "dd/mm/yyyy") & ", "
  
    If ngay > ngaykt Then
        chuoingay = ""
    End If
  
    Do While ngay < ngaykt
        ngay = ngay + kc
        If ngay <= ngaykt Then
            chuoingay = chuoingay & Format(ngay, "dd/mm/yyyy") & ", "
        End If
    Loop

    If ngay > ngaykt Then
        chuoingay = chuoingay & Format(ngaykt, "dd/mm/yyyy")
    End If

    If Right(chuoingay, 1) = " " Then
        chuoingay = Left(chuoingay, Len(chuoingay) - 2)
    End If

    Taochuoingay = chuoingay

End Function
Xem thêm trong file
Nhờ bạn giúp mình 1 lần nữa là nếu các ngày trong chuỗi đó trùng với ngày lễ mình chỉ định thì cộng thêm 1 ngày được không ạ?
 
Web KT

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

Back
Top Bottom