Xem dùm hàm này sai chỗ nào

Liên hệ QC

huynhnoseed

Thành viên mới
Tham gia
10/6/08
Bài viết
25
Được thích
1
Mình đã thực hiện hàm tính số tháng từ 2 ngày tháng có sẵn. 99,9999% là cho ra kết quả đúng nhưng có 1 kết quả lại báo #NUM. Tôi đã thử lại rất nhiều lần nhưng vẫn không hiểu tại sao vậy. Mong GPE xem giúp. Cảm ơn.
 

File đính kèm

  • Book1.xls
    14.5 KB · Đọc: 19
Nếu chỉ cần lấy số tháng thôi bạn có thể dùng công thức sau:
C6=MONTH($D$6)-MONTH(B10)+(YEAR($D$6)-YEAR(B10))*12
 
Mình đã thực hiện hàm tính số tháng từ 2 ngày tháng có sẵn. 99,9999% là cho ra kết quả đúng nhưng có 1 kết quả lại báo #NUM. Tôi đã thử lại rất nhiều lần nhưng vẫn không hiểu tại sao vậy. Mong GPE xem giúp. Cảm ơn.
Sao bạn không tìm trong diễn đàn hàm datedif(,,) để sử dụng nó có phải đơn giản, ngắn gọn hơn không

Hàm DATEDIF

Chức năng : Hàm DATEDIF trả về một giá trị, là số ngày, số tháng hay số năm giữa hai khoảng thời gian theo tùy chọn.

Cấu trúc : DATEDIF(firstdate,enddate,option)

- firstdate : là Ngày bắt đầu của khoảng thời gian cần tính toán
- Enddate : là Ngày kết thúc của khoảng thời gian cần tính toán
- Option: là tùy chọn, xác định kết quả tính toán sẽ trả về trong công thức. Các tùy chọn theo sau :
+ "d" : Hàm sẽ trả về số ngày giữa hai khoảng thời gian.
+ "m" : Hàm sẽ trả về số tháng (chỉ lần phần nguyên) giữa hai khoảng thời gian.
+ "y" : Hàm sẽ trả về số năm (chỉ lần phần nguyên) giữa hai khoảng thời gian.
+ "yd" : Hàm sẽ trả về số ngày lẻ của năm (số ngày chưa tròn năm) giữa hai khoảng thời gian.
+ "ym" : Hàm sẽ trả về số tháng lẻ của năm (số tháng chưa tròn năm) giữa hai khoảng thời gian.
+ "md" : Hàm sẽ trả về số ngày lẻ của tháng (số ngày chưa tròn tháng) giữa hai khoảng thời gian.
 

File đính kèm

  • Book1.xls
    20.5 KB · Đọc: 14
Lần chỉnh sửa cuối:
Chào huynhnoseed,
Bạn dùng thử công thức này xem có được như bạn muốn không.
Tại D10, bạn gõ =INT(($D$6-B10)/30).
Rồi bạn copy công thức xuống các dòng dưới.
Mình thử công thức này và tại D16 cho kết quả đúng.
 
Chào huynhnoseed,
Bạn dùng thử công thức này xem có được như bạn muốn không.
Tại D10, bạn gõ =INT(($D$6-B10)/30).
Rồi bạn copy công thức xuống các dòng dưới.
Mình thử công thức này và tại D16 cho kết quả đúng.
công thức này chỉ đúng trong khoảng <= 5 năm thôi nhé!
Ví dụ: nếu khoảng thời gian từ 1/1/1990 đến 1/1/2000 thì nó tính thành 121 tháng ,nếu đến 2010 thì thành 243 tháng.
 
Sao bạn không tìm trong diễn đàn hàm datedif(,,) để sử dụng nó có phải đơn giản, ngắn gọn hơn không

Hàm DATEDIF

Chức năng : Hàm DATEDIF trả về một giá trị, là số ngày, số tháng hay số năm giữa hai khoảng thời gian theo tùy chọn.

Cấu trúc : DATEDIF(firstdate,enddate,option)

- firstdate : là Ngày bắt đầu của khoảng thời gian cần tính toán
- Enddate : là Ngày kết thúc của khoảng thời gian cần tính toán
- Option: là tùy chọn, xác định kết quả tính toán sẽ trả về trong công thức. Các tùy chọn theo sau :
+ "d" : Hàm sẽ trả về số ngày giữa hai khoảng thời gian.
+ "m" : Hàm sẽ trả về số tháng (chỉ lần phần nguyên) giữa hai khoảng thời gian.
+ "y" : Hàm sẽ trả về số năm (chỉ lần phần nguyên) giữa hai khoảng thời gian.
+ "yd" : Hàm sẽ trả về số ngày lẻ của năm (số ngày chưa tròn năm) giữa hai khoảng thời gian.
+ "ym" : Hàm sẽ trả về số tháng lẻ của năm (số tháng chưa tròn năm) giữa hai khoảng thời gian.
+ "md" : Hàm sẽ trả về số ngày lẻ của tháng (số ngày chưa tròn tháng) giữa hai khoảng thời gian.

Chào GPE
Tôi đang dùng Win 7 thì sử dụng hàm trên thì rất chính xác. Tôi đã kiểm tra rồi. Nhwng khi chuyển sang các hệ điều hành khác thì xảy ra kết quả sai do không có mac định dd/MM/yyyy. Làm cách nào để đúng cho hai trường hợp.
Tôi ví dụ cho trường hợp sai này né.
Win 7: 01/01/2011 - 01/12/2010 = 1 (tháng)
Win 2003: 1/1/1011 - 1/12/2010 = 11 (tháng)
Tôi xin hỏi có hàm nào nữa không chứ cài đặt các máy thống nhất thì rất khó vì chường trình chạy rất nhiều máy khác nhau của nhiều đơn vị.
Xin chân thành GPE đã giúp đỡ.
 
Chào GPE
Tôi đang dùng Win 7 thì sử dụng hàm trên thì rất chính xác. Tôi đã kiểm tra rồi. Nhwng khi chuyển sang các hệ điều hành khác thì xảy ra kết quả sai do không có mac định dd/MM/yyyy. Làm cách nào để đúng cho hai trường hợp.
Tôi ví dụ cho trường hợp sai này né.
Win 7: 01/01/2011 - 01/12/2010 = 1 (tháng)
Win 2003: 1/1/1011 - 1/12/2010 = 11 (tháng)
Tôi xin hỏi có hàm nào nữa không chứ cài đặt các máy thống nhất thì rất khó vì chường trình chạy rất nhiều máy khác nhau của nhiều đơn vị.
Xin chân thành GPE đã giúp đỡ.
Nếu dữ liệu của bạn là đang có sẳn (không phải mới vừa nhập vào) thì dù chạy trên Windows nào cũng ra cùng 1 kết quả thôi
Kết quả khác nhau chỉ có 1 nguyên nhân: BẠN VỪA NHẬP DỮ LIỆU MỚI VÀ ĐÃ NHẬP SAI QUY ĐỊNH (quy định này nằm trong Control Panel)
Gợi ý bạn cách nhập liệu ngày tháng năm luôn chính xác với mọi máy tính, đó là nhập theo quy định yyyy/mm/dd (năm trước rồi đến tháng rồi đến ngày)
 
Không phải nhập sai, đó là do ngày của hệ thống không giống nhau nên mới bào lỗi như vậy.
Bạn co thế chỉnh sửa giò hệ thông cho đồng nhất: dd/mm/yyyy
Điều chỉnh tại Control Panel/Regional and Language Options
 
Nếu dữ liệu của bạn là đang có sẳn (không phải mới vừa nhập vào) thì dù chạy trên Windows nào cũng ra cùng 1 kết quả thôi
Kết quả khác nhau chỉ có 1 nguyên nhân: BẠN VỪA NHẬP DỮ LIỆU MỚI VÀ ĐÃ NHẬP SAI QUY ĐỊNH (quy định này nằm trong Control Panel)
Gợi ý bạn cách nhập liệu ngày tháng năm luôn chính xác với mọi máy tính, đó là nhập theo quy định yyyy/mm/dd (năm trước rồi đến tháng rồi đến ngày)

Nếu sử dụng mặc định này thì không phù hợp với kiểu ngày tháng người Việt đang dùng.
 
Không phải nhập sai, đó là do ngày của hệ thống không giống nhau nên mới bào lỗi như vậy.
Bạn co thế chỉnh sửa giò hệ thông cho đồng nhất: dd/mm/yyyy
Điều chỉnh tại Control Panel/Regional and Language Options
Điều chỉnh tại Control .................. thì nói làm chi. Đâu phải ai cũng biết điều chỉnh cái này. Tôi muốn hàm gì mà vẫn dùng cho tất cả hệ điều hành.
Dù sao cũng cảm ơn GPE
 
Nếu sử dụng mặc định này thì không phù hợp với kiểu ngày tháng người Việt đang dùng.
Bạn không hiểu rồi
- Nhập liệu luôn phải đúng theo quy định, và quy định này nằm trong Control Panel, không phải do Excel quyết định
- Việc hiển thị thế nào trên Excel là do ta tùy chỉnh (thế nào là tùy ý người dùng)
Vậy khi nhập liệu thì bạn cứ nhập như tôi đang nói, còn việc bạn muốn kết quả nhập liệu luôn hiển thị là dd/mm/yyyy thì... đâu ai cấm ---> Format Cells hoàn toàn làm được điều này mà
Tóm lại:
Cái mà tôi nói không phải là ĐỊNH DẠNG, đó là NHẬP LIỆU ĐÚNG QUY ĐỊNH, còn ĐỊNH DẠNG thế nào là do ta quyết định (thoải mái)
 
Mình đang sài Win 7 nên hệ thống của mình mặc dịnh dd/mm/yyyy và rất dễ dàng chọn định dạng nhưng trong các máy khác vào control pannel tìm mãi không có định dạng dd/mm/yyyy ( chỉ có định dạng khác thôi). Làm thế nào để có được định dạng này. Xin ai biết chỉ hộ. Xin chân tình cảm ơn.
 
Mình đang sài Win 7 nên hệ thống của mình mặc dịnh dd/mm/yyyy và rất dễ dàng chọn định dạng nhưng trong các máy khác vào control pannel tìm mãi không có định dạng dd/mm/yyyy ( chỉ có định dạng khác thôi). Làm thế nào để có được định dạng này. Xin ai biết chỉ hộ. Xin chân tình cảm ơn.
Máy đó nếu dùng win xp 2003 thì vào cỏntonl panel -> Regional and Languge options -> Customize -> Chọn thẻ Date để định dạng
 
Máy đó nếu dùng win xp 2003 thì vào cỏntonl panel -> Regional and Languge options -> Customize -> Chọn thẻ Date để định dạng
Mình đã vào đúng địa chỉ trên nhưng không có định dạng dd/MM/yyyy. Mình đã vào thử rất nhiều máy sử dụng win 2003 đều không có định dạng dd/MM/yyyy mà chỉ có các định dạng ngày tháng khác thôi. Tôi cũng không hiểu thế nào nữa. Xin anh em nào gặp hay biết cùng chia sẻ với tôi. Xin cảm ơn.
 
Lần chỉnh sửa cuối:
Mình đã vào đúng địa chỉ trên nhưng không có định dạng dd/MM/yyyy. Mình đã vào thử rất nhiều máy sử dụng win 2003 đều không có định dạng dd/MM/yyyy mà chỉ có các định dạng ngày tháng khác thôi. Tôi cũng không hiểu thế nào nữa. Xin anh em nào gặp hay biết cùng chia sẻ với tôi. Xin cảm ơn.

Bấm nút chọn thì không có, nhưng bạn gõ tay vào sẽ có.
 
Web KT
Back
Top Bottom