Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.newusers
|
|||
|
|||
![]()
Hi everyone. Using E02 on XP. I am trying to work some formulas and I have
the general idea what I need to do. I have a date of birth [DOB] and date of hire [DOH]. I need to calculate Eligibility to Participate by calculating [Age] and [Service] and then: If [Age]21 AND [Service]1, name the next occuring 01/01 or 07/01 (with the year). In other words, once you attain age 21 and have at least 1 year of service, you are eligible to enroll on the next occuring January 1 or July 1. The ultimate question is "What is the Date of Eligibility?" If DOB is 05/01/1960 and DOH is 01/01/2007, they are 21 on 05/01/1981 and they have one year of service on 01/01/2008, resulting in a Date of Eligiblity of 07/01/2008. I'm working on it but it looks like I'm using a half dozen fields to calculate each step. I'm sure it can be nested into one formula. I would appreciate any help or advice, perhaps where to look for examples of what I need. Thanks in advance for your time. -- Bonnie W. Anderson Cincinnati, OH |
#2
![]()
Posted to microsoft.public.excel.newusers
|
|||
|
|||
![]()
It is easier to break your problem in to multiple cells like this
DOB DOH DOB+21 DOH+1 MAX DOE 5/1/1960 1/1/2007 5/1/1981 1/1/2008 1/1/2008 7/1/2008 C2: =DATE(YEAR(A2)+21,MONTH(A2),DAY(A2)) D2: =DATE(YEAR(B2)+1,MONTH(B2),DAY(B2)) E2: =MAX(C2,D2) F2: =DATE(YEAR(E2)+(MONTH(E2)=7),6*(MONTH(E2)<7)+1,1) You "can" use one formula with a little copy and pasting, but it is rather confusing and long. =DATE(YEAR(MAX(DATE(YEAR(A2)+21,MONTH(A2),DAY(A2)) ,DATE(YEAR(B2)+1,MONTH(B2),DAY(B2))))+(MONTH(MAX(D ATE(YEAR(A2)+21,MONTH(A2),DAY(A2)),DATE(YEAR(B2)+1 ,MONTH(B2),DAY(B2))))=7),6*(MONTH(MAX(DATE(YEAR(A 2)+21,MONTH(A2),DAY(A2)),DATE(YEAR(B2)+1,MONTH(B2) ,DAY(B2))))<7)+1,1) Basically you need to take the max of the 21st birthday, and 1 year anniversery. Then, if the month is less than 7, make it 7, otherwise make the month 1 and add 1 to the year. Sloth Feb 2008 |
#3
![]()
Posted to microsoft.public.excel.newusers
|
|||
|
|||
![]()
See http://www.cpearson.com/excel/datedif.aspx
Tyro "Bonnie A" wrote in message ... Hi everyone. Using E02 on XP. I am trying to work some formulas and I have the general idea what I need to do. I have a date of birth [DOB] and date of hire [DOH]. I need to calculate Eligibility to Participate by calculating [Age] and [Service] and then: If [Age]21 AND [Service]1, name the next occuring 01/01 or 07/01 (with the year). In other words, once you attain age 21 and have at least 1 year of service, you are eligible to enroll on the next occuring January 1 or July 1. The ultimate question is "What is the Date of Eligibility?" If DOB is 05/01/1960 and DOH is 01/01/2007, they are 21 on 05/01/1981 and they have one year of service on 01/01/2008, resulting in a Date of Eligiblity of 07/01/2008. I'm working on it but it looks like I'm using a half dozen fields to calculate each step. I'm sure it can be nested into one formula. I would appreciate any help or advice, perhaps where to look for examples of what I need. Thanks in advance for your time. -- Bonnie W. Anderson Cincinnati, OH |
#4
![]()
Posted to microsoft.public.excel.newusers
|
|||
|
|||
![]()
Good morning Sloth,
I have to start by saying that you are absolutely flippin brilliant!!! Thank you SO very much. I have copy/pasted out both your long way and short way. I can understand most of the long way but your short way is exactly what I needed. I'm gonna hesitate just a few seconds before I admit that I got the formula from the NewsGroups. You are makin' me look good today. Seriously, thank you for the time you take to help others. I'm in the Access line 99% of the time but wanted to help a friend on this project. Ciao` -- Bonnie W. Anderson Cincinnati, OH "Sloth" wrote: It is easier to break your problem in to multiple cells like this DOB DOH DOB+21 DOH+1 MAX DOE 5/1/1960 1/1/2007 5/1/1981 1/1/2008 1/1/2008 7/1/2008 C2: =DATE(YEAR(A2)+21,MONTH(A2),DAY(A2)) D2: =DATE(YEAR(B2)+1,MONTH(B2),DAY(B2)) E2: =MAX(C2,D2) F2: =DATE(YEAR(E2)+(MONTH(E2)=7),6*(MONTH(E2)<7)+1,1) You "can" use one formula with a little copy and pasting, but it is rather confusing and long. =DATE(YEAR(MAX(DATE(YEAR(A2)+21,MONTH(A2),DAY(A2)) ,DATE(YEAR(B2)+1,MONTH(B2),DAY(B2))))+(MONTH(MAX(D ATE(YEAR(A2)+21,MONTH(A2),DAY(A2)),DATE(YEAR(B2)+1 ,MONTH(B2),DAY(B2))))=7),6*(MONTH(MAX(DATE(YEAR(A 2)+21,MONTH(A2),DAY(A2)),DATE(YEAR(B2)+1,MONTH(B2) ,DAY(B2))))<7)+1,1) Basically you need to take the max of the 21st birthday, and 1 year anniversery. Then, if the month is less than 7, make it 7, otherwise make the month 1 and add 1 to the year. Sloth Feb 2008 |
#5
![]()
Posted to microsoft.public.excel.newusers
|
|||
|
|||
![]()
Hi again Sloth,
If you have it in you for me to bug you one more time... If I had Age {21} typed in cell G1 and Service {1} typed in cell J1, how can I replace them in your long formula? I tried but cannot make G1 stay G1 (when I copy down it changes to G2 and G3, etc. (Same with J1.) I thought a $ sign would hold it but no. The reason I ask is I realized that not all plans have the same age and service requirements. It might be age 25 and 3 years of service. I think I adjusted all the 21's to G1's but wasn't sure which of the 1's to change to J1's after the first 3. It seems to work on the row I edit but then, my formula doesn't work when I copy it down. Thank you very much for your time. I'll cross my fingers... -- Bonnie W. Anderson Cincinnati, OH "Sloth" wrote: It is easier to break your problem in to multiple cells like this DOB DOH DOB+21 DOH+1 MAX DOE 5/1/1960 1/1/2007 5/1/1981 1/1/2008 1/1/2008 7/1/2008 C2: =DATE(YEAR(A2)+21,MONTH(A2),DAY(A2)) D2: =DATE(YEAR(B2)+1,MONTH(B2),DAY(B2)) E2: =MAX(C2,D2) F2: =DATE(YEAR(E2)+(MONTH(E2)=7),6*(MONTH(E2)<7)+1,1) You "can" use one formula with a little copy and pasting, but it is rather confusing and long. =DATE(YEAR(MAX(DATE(YEAR(A2)+21,MONTH(A2),DAY(A2)) ,DATE(YEAR(B2)+1,MONTH(B2),DAY(B2))))+(MONTH(MAX(D ATE(YEAR(A2)+21,MONTH(A2),DAY(A2)),DATE(YEAR(B2)+1 ,MONTH(B2),DAY(B2))))=7),6*(MONTH(MAX(DATE(YEAR(A 2)+21,MONTH(A2),DAY(A2)),DATE(YEAR(B2)+1,MONTH(B2) ,DAY(B2))))<7)+1,1) Basically you need to take the max of the 21st birthday, and 1 year anniversery. Then, if the month is less than 7, make it 7, otherwise make the month 1 and add 1 to the year. Sloth Feb 2008 |
#6
![]()
Posted to microsoft.public.excel.newusers
|
|||
|
|||
![]()
Sloth! I figured it out!!! I was trying just one $ sign but I needed $G$1!!!
Same for J1. Thank you again for your help today. Awesome!!! Ciao` -- Bonnie W. Anderson Cincinnati, OH "Bonnie A" wrote: Hi again Sloth, If you have it in you for me to bug you one more time... If I had Age {21} typed in cell G1 and Service {1} typed in cell J1, how can I replace them in your long formula? I tried but cannot make G1 stay G1 (when I copy down it changes to G2 and G3, etc. (Same with J1.) I thought a $ sign would hold it but no. The reason I ask is I realized that not all plans have the same age and service requirements. It might be age 25 and 3 years of service. I think I adjusted all the 21's to G1's but wasn't sure which of the 1's to change to J1's after the first 3. It seems to work on the row I edit but then, my formula doesn't work when I copy it down. Thank you very much for your time. I'll cross my fingers... -- Bonnie W. Anderson Cincinnati, OH "Sloth" wrote: It is easier to break your problem in to multiple cells like this DOB DOH DOB+21 DOH+1 MAX DOE 5/1/1960 1/1/2007 5/1/1981 1/1/2008 1/1/2008 7/1/2008 C2: =DATE(YEAR(A2)+21,MONTH(A2),DAY(A2)) D2: =DATE(YEAR(B2)+1,MONTH(B2),DAY(B2)) E2: =MAX(C2,D2) F2: =DATE(YEAR(E2)+(MONTH(E2)=7),6*(MONTH(E2)<7)+1,1) You "can" use one formula with a little copy and pasting, but it is rather confusing and long. =DATE(YEAR(MAX(DATE(YEAR(A2)+21,MONTH(A2),DAY(A2)) ,DATE(YEAR(B2)+1,MONTH(B2),DAY(B2))))+(MONTH(MAX(D ATE(YEAR(A2)+21,MONTH(A2),DAY(A2)),DATE(YEAR(B2)+1 ,MONTH(B2),DAY(B2))))=7),6*(MONTH(MAX(DATE(YEAR(A 2)+21,MONTH(A2),DAY(A2)),DATE(YEAR(B2)+1,MONTH(B2) ,DAY(B2))))<7)+1,1) Basically you need to take the max of the 21st birthday, and 1 year anniversery. Then, if the month is less than 7, make it 7, otherwise make the month 1 and add 1 to the year. Sloth Feb 2008 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Struggling with IF formula...is it even the right one for me? | New Users to Excel | |||
Struggling to plot where I want | Charts and Charting in Excel | |||
Struggling IF value | Excel Discussion (Misc queries) | |||
Please help, I've been struggling for weeks! | Excel Worksheet Functions | |||
Help, I'm Struggling! | New Users to Excel |