Nhờ giúp đỡ hàm tính tuổi đời trung bình (1 người xem)

  • Thread starter Thread starter PhucKK
  • Ngày gửi Ngày gửi
Liên hệ QC

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

PhucKK

Thành viên mới
Tham gia
7/11/08
Bài viết
5
Được thích
0
Chào cả nhà
Mình định lập hàm tính tuổi đời trung bình của một nhóm người khi biết ngày tháng năm sinh. Mình chạy mà cứ báo lỗi, nhờ các cao thủ chỉ giáo giúp
Code:
Function AveYear(rData As Range) As Double
Dim tuoi As Double
cellCurrent As Range
Dim i As Long
tuoi = 0
For Each cellCurrent In rData
tuoi = WorksheetFunction.Sum((today() - cellCurrent) / 365, tuoi)
i = i + 1
Next cellCurrent
AveYear = tuoi / i
End Function
Xin cảm ơn
 
Chào cả nhà
Mình định lập hàm tính tuổi đời trung bình của một nhóm người khi biết ngày tháng năm sinh. Mình chạy mà cứ báo lỗi, nhờ các cao thủ chỉ giáo giúp
Code:
Function AveYear(rData As Range) As Double
Dim tuoi As Double
cellCurrent As Range
Dim i As Long
tuoi = 0
For Each cellCurrent In rData
tuoi = WorksheetFunction.Sum((today() - cellCurrent) / 365, tuoi)
i = i + 1
Next cellCurrent
AveYear = tuoi / i
End Function
Xin cảm ơn
Function AveYear(rData As Range) As Double
Dim tuoi As Double
cellCurrent As Range
Dim i As Long
For Each cellCurrent In rData
if typename(cellCurrent.value)="Date" then
tuoi = tuoi+date - cellCurrent.value
i = i + 1
end if
Next
AveYear = tuoi / i/365
End Function
 
Upvote 0
Chào cả nhà
Mình định lập hàm tính tuổi đời trung bình của một nhóm người khi biết ngày tháng năm sinh. Mình chạy mà cứ báo lỗi, nhờ các cao thủ chỉ giáo giúp
Code:
Function AveYear(rData As Range) As Double
Dim tuoi As Double
cellCurrent As Range
Dim i As Long
tuoi = 0
For Each cellCurrent In rData
tuoi = WorksheetFunction.Sum((today() - cellCurrent) / 365, tuoi)
i = i + 1
Next cellCurrent
AveYear = tuoi / i
End Function
Xin cảm ơn
Công thức thường cũng được chứ cần gì code:
Mã:
=AVERAGE(DATEDIF(A1:A30,TODAY(),"y"))
Hoặc:
Mã:
=AVERAGE(TODAY()-A1:A30)/365
Ctrl + Shift + Enter để kết thúc
 
Lần chỉnh sửa cuối:
Upvote 0
Function AveYear(rData As Range) As Double
Dim tuoi As Double
cellCurrent As Range
Dim i As Long
For Each cellCurrent In rData
if typename(cellCurrent.value)="Date" then
tuoi = tuoi+date - cellCurrent.value
i = i + 1
end if
Next
AveYear = tuoi / i/365
End Function

tuoi = date - valu1 + date - valu2 + ... + date - valuN = N*date - valu1 - valu2 - ... - valuN = N*date - Sum(valui)
AveYear = tuoi/N/365 = (date - Sum(valui)/N) / 365
 
Lần chỉnh sửa cuối:
Upvote 0
Function AveYear(rData As Range) As Double
Dim tuoi As Double
cellCurrent As Range
Dim i As Long
For Each cellCurrent In rData
if typename(cellCurrent.value)="Date" then
tuoi = tuoi+date - cellCurrent.value
i = i + 1
end if
Next
AveYear = tuoi / i/365
End Function
Cảm ơn cụ đã quan tâm. Tôi đã thử nhưng ko được cụ à.
 
Upvote 0
Web KT

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

Back
Top Bottom