Hàm cho biết số ngày trong tháng

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi luongcp, 4 Tháng năm 2005.

45,294 lượt xem

  1. luongcp

    luongcp Thành viên sơ cấp

    Bài viết:
    42
    Đã được thích:
    0
    Nơi ở:
    HCMC
    Thân gửi các bạn,

    - Chẳng hạn ta muốn tra 1 tháng bất kỳ xem có bao nhiêu ngày (chẳng hạn mình muốn biết tháng 02/1764 có 28 ngày hay 29 ngày) thì EXCEL số hỗ trợ sẵn hàm nào không ? Không biết EXCEL có hàm đếm số ngày của 1 tháng bất kỳ không ?

    - Ngoài ra mình còn muốn tìm 1 hàm đếm số ngày chủ nhật trong 1 tháng bất kỳ.

    Các bạn chỉ giáo nhé
     
    #1
  2. Tuanktcdcn

    Tuanktcdcn Lão già ham vui

    Bài viết:
    548
    Đã được thích:
    50
    Nơi ở:
    Hà Nội
  3. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    Giả sử bạn muốn tính số ngày của tháng tại ô A1 thì công thức như sau:
    =DAY(DATE(YEAR(A1),MONTH(A1)+1,1)-1)
    hay bạn vào đường link này giải thích cũng rất đầy đủ và kỹ,
    http://www.cpearson.com/excel/datetime.htm
    Chúc bạn tìm được điều mình mong muốn.
    Lê Văn Duyệt
     
    #3
    Tieuyetyet thích bài này.
  4. KKBS

    KKBS Thành viên sơ cấp

    Bài viết:
    53
    Đã được thích:
    0
    Nơi ở:
    HCM
    Tôi có thêm một cách có vẻ đơn giản hơn như sau :

    A2 = DAY(EOMONTH(A1,0))

    - Hàm DAY cho ta thành phần "ngày" của một ô chứa giá trị "ngày-tháng-năm"
    - Hàm EOMONTH cho ta ngày cuối cùng ("ngày-tháng-năm") của tháng trước hoặc sau ngày đã cho, tùy theo giá trị của tham số thứ nhì là âm hay dương, tôi chọn là 0 vì muốn lấy ngày cuối của tháng trùng với tháng của ngày trong ô A1.

    Nếu bạn không có hàm EOMONTH (thông báo lỗi [HASHTAG]#NAME[/HASHTAG]?) có lẽ vì bạn chưa chọn menu Tools/Add-in... và chọn Analysis ToolPak...

    Thân,
    KKBS
     
    #4
  5. luongcp

    luongcp Thành viên sơ cấp

    Bài viết:
    42
    Đã được thích:
    0
    Nơi ở:
    HCMC
    Cám ơn anh Duyệt đã cung cấp đường link trên, em đã xem qua và thấy rất thú vị ...

    Cũng liên quan đến ngày tháng, em có vấn đề như sau :

    Một nhân viên vào làm tại Cty từ 05/11/1998 chẳng hạn, bây giờ em muốn tính xem đến thời điểm hiện tại, người đó đã làm tại Cty được mấy năm mấy tháng. Kết quả mình muốn hiện ra như sau : chẳng hạn : "6 năm 6 tháng" (tức là hiện ra cả chữ năm và chứ tháng). Nhưng em muốn giá trị thật sự là 1 number (để còn tính toán)

    Các bạn giúp nhé
     
    #5
  6. KKBS

    KKBS Thành viên sơ cấp

    Bài viết:
    53
    Đã được thích:
    0
    Nơi ở:
    HCM
    Giả sử A1 là ngày bắt đầu làm việc, A2 là ngày hiện tại (hoặc ngày nào đó cần tính)

    Bước 1 : Tìm số tháng giữa 2 ngày (chắc chắn là số dương !)
    A3 = (YEAR(A2)-YEAR(A1))*12+MONTH(A2)-MONTH(A1)

    Bước 2 : Tìm số năm, số tháng
    A4 = INT(A3/12)
    A5 = MOD(A3,12)

    Bước 3 : Format theo "ý của sếp"

    A6 = E4 & " năm " & E5 & " tháng "

    (Hàm INT cho ta phần nguyên của một số
    Hàm MOD cho ta phần dư trong phép chia 2 số nguyên)

    Thân,
    KKBS
     
    #6
  7. Minou

    Minou Thành viên sơ cấp

    Bài viết:
    54
    Đã được thích:
    0
    Nơi ở:
    Ha Noi
    Hi,
    Tôi hay dùng cách này, ban thử xem nhé:
    = value( ô địa chỉ)- value ( ô địa chỉ)+1
    bạn nhập ngày cần tính vào 2 ô excel riêng biệt nhé
    chúc bạn thành công
    Minou
     
    #7
  8. ForestC

    ForestC Thành viên sơ cấp

    Bài viết:
    377
    Đã được thích:
    1
    Nơi ở:
    E'rywhere
    Hàm của Minou nhìn vào thấy nó không có nhiều ý nghĩa cho lắm. Tôi e rằng nó sẽ không đáp ứng được yêu cầu của bài toán ban đầu chăng? Nếu có thể bạn hãy giải thích ý nghĩa của chúng một cách cụ tỷ? Thanks!
     
    #8
  9. nguoiconxunui

    nguoiconxunui Khách vãng lai

    Bài viết:
    1,258
    Đã được thích:
    220
    Nơi ở:
    Bình Định
    Em nhớ không lầm thì cái này có một thủ tục cũng khá đơn giản anh Lê Vân Duyệt có thể đưa lên không ạ. hình như chỉ nhập tháng mấy năm mấy là nó cho mình số ngày trong tháng đó liền hà.
    PS: Hình như các bác hiểu không xác ý người mở chủ đề!
    Em thì thường tính nhẩm như vầy: Năm chia hết cho 4 là năm nhuận (tháng 2 có 29 ngày) còn lại các năm khác như nhau cả! nghhĩa là các ngày trong tháng không đổi qua các năm (trừ năm nhuận) nên nhẩm là biết chứ gì hay nhờ excel nhẩm giúp chút thôi.
     
    Last edited: 11 Tháng năm 2005
    #9
  10. theninh

    theninh Thành viên sơ cấp

    Bài viết:
    2
    Đã được thích:
    0
    Nơi ở:
    viet nam
    Chào !
    Để tính số năm làm việc của một nhân viên nào đó Bạn dùng hàm =Day360()/30
    la ok liền thôi , bạn nên nghiên cứu hàm này đi
    chúc thành công nha !
     
    #10
  11. KKBS

    KKBS Thành viên sơ cấp

    Bài viết:
    53
    Đã được thích:
    0
    Nơi ở:
    HCM
    Rất tiếc là không thành công được vì hàm DAYS360 nhận vào 2 tham số là 2 ngày và trả về số ngày giữa chúng !

    KKBS.
     
    #11
  12. quocnghia

    quocnghia Thành viên sơ cấp

    Bài viết:
    64
    Đã được thích:
    0
    Có vài hàm bác microsoft hổ trợ trong excel nhưng quên thông báo không ? Hình như lúc Seagame vừa rồi có hỏi và người giải đáp rồi đó. Bạn ráng lục lại trong diễn đàn này nhé. Chúc thành công.
     
    Last edited: 11 Tháng năm 2005
    #12
  13. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    To: KKBS
    http://www.cpearson.com/excel/DateTimeVBA.htm
    Mình đã đưa link mà bạn "không chịu" tham khảo!!!
    Bạn sửa lại hàm Age trong đường link trên.
    Function Age(Date1 As Date, Date2 As Date) As String
    ....
    Chúc bạn thành công.
    Lê Văn Duyệt
     
    #13
  14. KKBS

    KKBS Thành viên sơ cấp

    Bài viết:
    53
    Đã được thích:
    0
    Nơi ở:
    HCM
    Ngay trong thread này tôi cũng đã đưa ra một lời giải vào ngày thứ năm 05/05/05. Bài vừa rồi chỉ là chỉ ra chỗ không đúng trong lời giải của bạn theninh khi dùng hàm DAYS360 mà thôi. Dù sao vẫn cảm ơn bạn levanduyet đã cho cái link, lúc nào rãnh rỗi sẽ tham khảo thêm.

    Tôi cũng biết lập trình VB đôi chút, thường dùng nó để "customize" cho các giải pháp ERP, nhưng tôi không theo "đạo VBA" khi dùng Excel nên không khoái các lời giải dùng VBA cho lắm. Tôi chỉ dùng VBA khi không còn cách nào phối hợp các hàm có sẵn để có được kết quả.

    Thân,
    KKBS.
     
    Last edited: 12 Tháng năm 2005
    #14
  15. handung107

    handung107 Thành viên thân thiết

    Bài viết:
    576
    Đã được thích:
    13
    Nơi ở:
    VN
    Tôi xin giới thiệu một hàm mà ít người sử dụng đến. Đó là hàm DATEDIF.
    Cú pháp như sau:
    =DATEDIF(start-date,end-date,units).
    Trong đó: startdate tham chiếu đến ngày bắt đầu (thời điểm đầu).
    v End-Date: tham chiếu đến ngày kết thúc (thời điểm cuối).
    v Units: là một chuỗi gồm một hoặc hai kí tự đặt trong dấu nháy kép để xác định đơn vị khác biệt giữa hai thời điểm.
    Các tham số của lệnh DATEDIF.
    "y": (viết tắt của từ year) số năm.
    "m": (viết tắt của từ month) số tháng.
    "d": (viết tắt của từ days) số ngày.
    "md": số ngày dư ra khi trừ số tháng.
    "ym": số tháng dư ra khi trừ số năm.
    "yd": số ngày dư ra khi trừ số năm.
    VD: Bạn muốn biết mình đã tồn tại bao lâu trên thế gian này bạn hãy dùng DATEDIF
    Chẳng hạn ngày sinh của bạn nhập ở ô B3. bạn có công thức hàm như sau:
    v Tính năm: =DATEDIF(B3,C3,"Y")
    v Tính tháng: = DATDEIF(B3,C3,"YM")
    v Tính ngày: = DATEDIF(B3,C3,"MD")
    Tôi thường sử dụng hàm DATEDIF, nhưng trong một số phiên bản cũ hàm có tên là DATEIF, bạn nào hiểu rõ hơn về hàm này, hãy Post lên để mọi người cùng tham khảo
     
    #15
  16. handung107

    handung107 Thành viên thân thiết

    Bài viết:
    576
    Đã được thích:
    13
    Nơi ở:
    VN
    Hàm DATEDIF ở đâu ?
    Bạn có thể thấy hàm này không xuất hiện trong hộp thọai Paste Function. Do đó, khi bạn sử dụng hàm này, bạn luôn nhập nó bằng tay
    Hàm DATEDIF có nguồn gốc trong Lotus 1-2-3 và hiển nhiên Excel cung cấp nó vì các mục đích tương thích. Vì một lý do nào đó, Microsoft muốn giữ bí mật hàm này. Các phiên bản trước Excel 2000 không đề cập đến hàm DATEDIF trong mục trợ giúp trực tuyến. Điều đáng chú ý là các phần tham chiếu đến hàm này đã được lọai bỏ khỏi mục trợ giúp trực tuyến dành cho Excel 2002 và 2003 (mặc dù hàm này vẫn có sẵn)
    DATEDIF vốn là một hàm tiện lợi tính số ngày, số tháng hoặc số năm giữa 2 ngày tháng. Các bạn cứ thử xem
     
    #16
  17. luongcp

    luongcp Thành viên sơ cấp

    Bài viết:
    42
    Đã được thích:
    0
    Nơi ở:
    HCMC
    Chị Dung cho em hỏi thêm :

    Giả sử A1 = 26/4/2005
    A2 = 25/5/2005

    Em thấy DatedIF(A1;A2;"md") và A2 - A1 cho kết quả như nhau

    Vậy trường hợp này hàm DatedIF() có thêm ưu điểm gì so với phép trừ như trên không ....?
     
    #17
  18. handung107

    handung107 Thành viên thân thiết

    Bài viết:
    576
    Đã được thích:
    13
    Nơi ở:
    VN
    Bạn thử làm phép trừ giữa 26/04/05 và 28/08/05, bằng hàm DATEDIF với các tham số đã kể trên : y, d, m, md, ym, yd và phép trừ giữa 2 Cell chứa ngày, chắc bạn sẽ thấy câu trả lời. Và bạn nên đọc kỹ lại bài hướng dẫn hàm DATEDIF() ở trên
     
    #18
  19. KKBS

    KKBS Thành viên sơ cấp

    Bài viết:
    53
    Đã được thích:
    0
    Nơi ở:
    HCM
    Hàm DATEDIF sử dụng rất hay trong khi tính chênh lệch giữa hai ngày. Bằng cách sử dụng khéo tham số thứ 3 ta sẽ có được nhiều thứ khác nhau như : số tháng, số năm... nhưng tôi chưa thử có số thế kỷ không :)

    Trong trường hợp có một ngày, muốn biết số ngày trong tháng đó thì theo tôi cách nhanh nhất là dùng hàm

    A2 = DAY(EOMONTH(A1,0))

    - Hàm DAY cho ta thành phần "ngày" của một ô chứa giá trị "ngày-tháng-năm"
    - Hàm EOMONTH cho ta ngày cuối cùng ("ngày-tháng-năm") của tháng trước hoặc sau ngày đã cho, tùy theo giá trị của tham số thứ nhì là âm hay dương, tôi chọn là 0 vì muốn lấy ngày cuối của tháng trùng với tháng của ngày trong ô A1.

    Nếu bạn không có hàm EOMONTH (thông báo lỗi [HASHTAG]#NAME[/HASHTAG]?) có lẽ vì bạn chưa chọn menu Tools/Add-in... và chọn Analysis ToolPak...

    Thân,
    KKBS.
     
    #19
  20. Minou

    Minou Thành viên sơ cấp

    Bài viết:
    54
    Đã được thích:
    0
    Nơi ở:
    Ha Noi
    Hi,
    Bạn áp dụng cách này xem sao nhé. chon ô hiển thị kết quả và type công thức
    = value(A2)-value(A1)+1
    Chúc thành công
     
    #20

Chia sẻ trang này