Trang 1/6 1 2 3 4 5 ... cuốicuối
Hiển thị kết quả tìm kiếm từ 1 đến 10 trên tổng số: 52
  1. #1
    digita Guest

    Bộ hàm tính & đếm ngày

    Chào mọi người,

    Đây là câu trả lời chung cho 2 thread sau đây:

    http://www.giaiphapexcel.com/forum/s...ead.php?t=2431

    http://www.giaiphapexcel.com/forum/s...ead.php?t=2422

    Xin giới thiệu 3 hàm dùng để tính toán những vấn đề thường gặp phải có liên quan đến ngày tháng:

    Hàm đếm số ngày - SoNgay(ngày 1, ngay 2, x, cột chứa các ngày lễ). Xin quí vị xem hướng dẫn chi tiết trong file đính kèm. Hàm này có rất nhiều chức năng bao gồm luôn cách tính datediff và Networkdays. Khác với khi dùng hàm networkdays, bạn khỏi cần cài đặt addin VBA analysis toolpak hay analysis toolpak.

    Nếu ta biết ngày 1 công trình bắt đầu và dự tính là bao nhiêu ngày sẽ hoàn tất, hàm thứ 2 (Edate) sẽ giúp tính ngày kết thúc. Edate có nghĩa là end date (ngày cuối). Cú pháp dùng là edate(ngày đầu, số ngày làm việc,
    cột chứa các ngày lễ).

    Hàm thứ 3 là Sdate (start date - ngày bắt đầu). Cái hàm này làm ngược lại thao tác Edate khi ta biết ngày kết thúc và muốn tìm ngày bắt đầu. Cú pháp giống như hàm 2.

    Các hàm trên đều tính ngày làm là từ Thứ 2 đến Thứ 6. Nếu tính ngày Thứ 7 là 1 ngày làm việc bình thường thì cần dùng hàm SoNgay để đếm bao nhiêu ngày Thứ 7 trong thời gian tính.

    Thí dụ: 1 công việc bắt đầu vào ngày 29/12/2006 (ở ô J1) và mất 10 ngày công để hoàng thành. Nếu không làm ngày Thứ 7 thì Edate(J1, 10, cột chứa ngày lể) = 12/1/2007. Nếu có làm ngày Thứ 7 thì cần dùng 2 công thức liên kết như sau:

    Edate(J1, 10 - SoNgay(J1,Edate(ngày bắt đầu, 10, Ngày lễ),7,Ngày lễ),ngày lễ).

    Đã chạy thử các hàm này trong XL 2003 thì cho kết quả đúng hết. Tuy chưa thữ trong các bản XL khác, nhưng tôi tin là các hàm này tương hợp với tất cả ấn bản XL cũ và mới.

    Mời mọi người xài thữ cho ý kiến. Nếu gặp trục trặc xin pm cho mình biết.

    Mến chào
    Tập tin đính kèm Tập tin đính kèm

  2. Có 12 thành viên cảm ơn digita về bài viết này:


  3. #2
    Tham gia ngày
    03 2008
    Bài gởi
    136
    Cảm ơn
    49
    Được cảm ơn 18 lần trong 16 bài viết

    Cú pháp đếm ngày

    Chào anh,
    Tôi đã đọc bài của anh và áp dụng vào thực tế công việc của ttôi rất hiệu quả. Xin anh cho hỏi cú pháp đếm tháng được không?
    VD: Giả sử tôi 01 nhân viên có HĐLĐ xác định thời hạn 36 tháng kể từ ngày 05/08/2008. Khi nhập số liệu đó vào thì chương trình tự ra kết quả hạn HĐLĐ là 05/08/2011.

    Cảm ơn anh,

  4. Có 2 thành viên cảm ơn doanhhoang79 về bài viết này:


  5. #3
    Tham gia ngày
    06 2008
    Bài gởi
    23,733
    Cảm ơn
    13,600
    Được cảm ơn 42,235 lần trong 19,132 bài viết
    Trích Nguyên văn bởi doanhhoang79 View Post
    Chào anh,
    Tôi đã đọc bài của anh và áp dụng vào thực tế công việc của ttôi rất hiệu quả. Xin anh cho hỏi cú pháp đếm tháng được không?
    VD: Giả sử tôi 01 nhân viên có HĐLĐ xác định thời hạn 36 tháng kể từ ngày 05/08/2008. Khi nhập số liệu đó vào thì chương trình tự ra kết quả hạn HĐLĐ là 05/08/2011.

    Cảm ơn anh,
    Cái này đâu cần hàm gì chứ... chỉ làm bài toán cộng là ra mà

  6. Có 2 thành viên cảm ơn ndu96081631 về bài viết này:


  7. #4
    Tham gia ngày
    07 2007
    Nơi Cư Ngụ
    Dalat
    Bài gởi
    4,901
    Cảm ơn
    4,387
    Được cảm ơn 21,153 lần trong 3,973 bài viết
    Trích Nguyên văn bởi doanhhoang79 View Post
    Chào anh,
    Tôi đã đọc bài của anh và áp dụng vào thực tế công việc của ttôi rất hiệu quả. Xin anh cho hỏi cú pháp đếm tháng được không?
    VD: Giả sử tôi 01 nhân viên có HĐLĐ xác định thời hạn 36 tháng kể từ ngày 05/08/2008. Khi nhập số liệu đó vào thì chương trình tự ra kết quả hạn HĐLĐ là 05/08/2011.

    Cảm ơn anh,
    Thích dùng hàm thì cũng có:
    =DATE(YEAR(A2), MONTH(A2) + 36, DAY(A2))
    Với ô A2 là ô chứa ngày ký hợp đồng (05/8/2008)

    Bạn có thể linh động hơn bằng cách dùng thêm 1 ô nữa chứa thời hạn hợp đồng.

    Ví dụ, ô A2 là ngày ký hợp đồng, ô B2 là thời hạn hợp đồng (tính theo tháng), tại ô C2 (ngày kết thúc hợp đồng) bạn nhập công thức:
    =DATE(YEAR(A2), MONTH(A2) + B2, DAY(A2))
    Nếu hợp đồng của bạn tính theo năm, hoặc theo ngày, thì bạn cộng vào chỗ tương ứng của nó trong công thức của hàm DATE() ở trên.


  8. Có 5 thành viên cảm ơn BNTT về bài viết này:


  9. #5
    digita Guest
    Trích Nguyên văn bởi doanhhoang79 View Post
    Chào anh,
    Tôi đã đọc bài của anh và áp dụng vào thực tế công việc của ttôi rất hiệu quả. Xin anh cho hỏi cú pháp đếm tháng được không?
    VD: Giả sử tôi 01 nhân viên có HĐLĐ xác định thời hạn 36 tháng kể từ ngày 05/08/2008. Khi nhập số liệu đó vào thì chương trình tự ra kết quả hạn HĐLĐ là 05/08/2011.

    Cảm ơn anh,
    Rất vui khi biết cái bài đó giúp ích trong công việc của bạn. BTNN có hướng dẩn công thức tính tháng dùng các hàm có sằn trong XL. Tôi có cái UDF ngắn để bạn chọn.

    Code:
    Function CongThang(SThang As Integer, Date1 As Date) As Date
    CongThang = DateAdd("m", SThang, Date1)
    End Function
    Bạn copy code trên vô cái module thường trong VBE. Cách dùng thì gõ trong XL là:

    Code:
    =congthang(A,B)
    A = số tháng, B là ô có ngày bắt đầu hay là "dd/mm/yyy" bao gồm cập dấu kép.

    Mến

  10. Có 3 thành viên cảm ơn digita về bài viết này:


  11. #6

    Tính số ngày làm việc trừ ngày nghỉ

    tôi có 1 công việc:
    - bắt đầu từ ngày 02/01/2008
    - kết thúc vào ngày 10/01/2008
    Tôi muốn tính số ngày làm việc của công việc đó (trừ thứ Bảy, Chủ Nhật và ngày Lễ nếu có)
    Mong các bạn giúp mình với nhé!!!

  12. Có 2 thành viên cảm ơn SonThuy về bài viết này:


  13. #7
    Tham gia ngày
    08 2006
    Bài gởi
    3,815
    Cảm ơn
    4,143
    Được cảm ơn 4,414 lần trong 2,270 bài viết
    Trích Nguyên văn bởi SonThuy View Post
    tôi có 1 công việc:
    - bắt đầu từ ngày 02/01/2008
    - kết thúc vào ngày 10/01/2008
    Tôi muốn tính số ngày làm việc của công việc đó (trừ thứ Bảy, Chủ Nhật và ngày Lễ nếu có)
    Mong các bạn giúp mình với nhé!!!
    Vào menu Tools, AddIns, chọn Analysic Toolpak
    Sau đó dùng hàm networkday nhé.
    Còn hông thì tìm bài của anh ndu hay là anhtuan1066

  14. Có 3 thành viên cảm ơn ThuNghi về bài viết này:


  15. #8
    Tham gia ngày
    06 2008
    Bài gởi
    23,733
    Cảm ơn
    13,600
    Được cảm ơn 42,235 lần trong 19,132 bài viết
    Trích Nguyên văn bởi SonThuy View Post
    tôi có 1 công việc:
    - bắt đầu từ ngày 02/01/2008
    - kết thúc vào ngày 10/01/2008
    Tôi muốn tính số ngày làm việc của công việc đó (trừ thứ Bảy, Chủ Nhật và ngày Lễ nếu có)
    Mong các bạn giúp mình với nhé!!!
    File ở bài số #1 đã có đủ mọi thứ bạn cần rồi đấy! Sao không tham khảo thử

  16. Có 3 thành viên cảm ơn ndu96081631 về bài viết này:


  17. #9
    Tham gia ngày
    08 2007
    Nơi Cư Ngụ
    Đối diện Gpe
    Bài gởi
    184
    Cảm ơn
    258
    Được cảm ơn 155 lần trong 53 bài viết
    Mấy sếp cho em hỏi chứ làm mấy cái hàm tự tạo này thế nào nhỉ
    em viết vào mấy đâu hiểu cho đâu?
    thanks trước nha.
    Nửa chữ cũng do thầy dạy.

  18. Thành viên sau cảm ơn echo07 về bài viết này:


  19. #10
    cần gì chứ ban dùng hàm =(days360(ngayđầu:ngaycuối))-(days360(ngayđầu:ngaycuối))/7*số ngày nghỉ trong tuần)

  20. Thành viên sau cảm ơn nguyenhaigiang1985 về bài viết này:


Trang 1/6 1 2 3 4 5 ... cuốicuối

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •  

Mudim v0.8 Tắt VNI Telex Viqr Tổng hợp
Chính tả Bỏ dấu kiểu mới  [Bật/Tắt (F9)]