Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
I want to create a function to return the gestational age of babies on
their date of birth (DOB) with reference to the due date (the estimated date of confinement or EDC). The function I have at the moment is: Function Gest(DOB As Variant, EDC As Variant) As Single 'Returns the gestation in the form x.y where x is the number of completed weeks 'and y is the additional days, which can range from 0 to 6. ' 'The calculation is based on the DOB and the EDC, and assumes a normal pregnancy 'duration of 280 days, with the start being day 0 (not day 1). Dim Gestation As Double Gestation = ((280 - (EDC - DOB)) \ 7) + (0.1 * ((280 - (EDC - DOB)) Mod 7)) Gest = Gestation End Function When I test this within the immediate window I get the result I expect eg: ?gest(#14-Jan-01#,#14-Mar-01#) 31.4 However, when using the function in a worksheet with the same DOB and EDC I see a value of 31.3999996185302 (when I use formula auditing). I had wanted to compare my calculation to the value displayed in an existing 'gestation' column. 1. What is causing this behaviour? 2. Can I return the function value (as displayed in the immediate window) to the worksheet cell? Kind regards, John McTigue |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
User Defined Function use any worksheet | Excel Discussion (Misc queries) | |||
user defined function | Excel Worksheet Functions | |||
User Defined function - Help | Excel Worksheet Functions | |||
User Defined Function | Excel Discussion (Misc queries) | |||
user defined function | Excel Worksheet Functions |