2015-01-13 40 views
0

我希望有人能幫助我。如果/然後計算公式:Excel的IF公式出生日期範圍

我需要一個公式,告訴我,如果是在B3單元格中輸入出生日期是間年齡12-24個月的年齡段8/01/2009至12/31/2012。例如,2008年1月1日出生的人在2009年的12-24個月中,因此在單元格D4中應該返回YES。如果孩子未滿12個月或超過24個月,單元格值將爲否。

此外,在小區D4的值應返回如果是在單元格B3和B4細胞有兩個出生日期和兩人都在6歲以下的年2009年8月1日達到2012年12月31日。例如,在B3單元格中輸入的出生日期爲2005年11月1日,而在單元格B4中輸入的出生日期爲2004年8月1日,因此單元格D4中的值應爲是。如果兩個孩子不是6歲以下,則單元格的值將是第

希望有人能幫助我,

謝謝

回答

0

我想我有一個解決方案,解決了我理解你的問題是。我用B6B7保持年你的範圍。 B6有2009年它,B7有2012年它進入。

=IF(B4="",IF(AND((DATE(B6,1,1)-B3)/30<=12,(DATE(B7,1,1)-B3)/30>=24),"Yes","No"),IF(AND((DATE(B7,1,1)-B3)/30>=72,(DATE(B7,1,1)-B4)/30>=72),"Yes","No")) 

打破下來了一點:

測試,看是否有如果沒有,那麼我們需要看看孩子是不到12個月的B4

=IF(B4="" 

日期在該期間開始時期,並且在期限結束時超過24個月。 (使用,讓我們確保孩子轉身開始後12個月和24個月的月底前)

IF(AND((DATE(B6,1,1)-B3)/30<=12,(DATE(B7,1,1)-B3)/30>=24),"Yes","No") 

如果有兩個日期,然後檢查是否兩個孩子均小於72個月的結束日期(B7)。

IF(AND((DATE(B7,1,1)-B3)/30>=72,(DATE(B7,1,1)-B4)/30>=72),"Yes","No") 
+0

日期範圍的開始是*** ***月1,2009年不*** ***月份。此外,將月數除以30可能不足以滿足莉莉的需求。今天準確的解決方案會更好。另外,如果兩個「嬰兒」都是40歲,那麼您的公式返回「是」。 –

1

在創建Excel公式之前,首先通過做一些數學來簡化問題。

最小的孩子墜入日期範圍將是正好12個月大的2012年12月31日,因此將有一個12/31/2011生日。

日期範圍內最古老的孩子將是整整24個月的2009年8月1日,與2007年8月1日一個生日。

這個公式將檢查在一定範圍內的日期:

=IF(AND(B3>=DATE(2007,8,1),B3<=DATE(2011,12,31)),"Yes","No") 

你需要仔細檢查你的邊界條件。例如,如果孩子剛好在8/01/2009有第一個生日,你是否還想包括他們?如果不是,則將>=更改爲>

第二個問題也是四個日期比較,你現在就可以制定出一個AND'ing的。 唯一棘手的是B3或B4空白時。使用日期比較,空白或0相當於12/31/1899。這將使當前的年齡超過100歲,這將會通過年齡測試。

0

Excel將日期識別爲數值。以下是我定義的日期範圍。我需要開發一些能夠根據日期範圍標準引用不同VLOOKUP數據的東西。這可以在一個大的公式中使用,並根據您的需要隨時添加。很多方法可能寫這個。

這裏是另一種方式:

"=IF(ISBLANK(C[-7]),""""," & _ 
"IF(AND(C[-7]>=42571,C[-7]<=42572),(VLOOKUP(C[9],'C:\Users\etabakman\Desktop\[BillNet Master List - current.xlsx]07-20-2016'!C39:C41,2,FALSE))," & _ 

"IF(AND(C[-7]>=42573,C[-7]<=42582),(VLOOKUP(C[9],'C:\Users\etabakman\Desktop\[BillNet Master List - current.xlsx]07-22-2016'!C39:C41,2,FALSE))," & _ 

"IF(AND(C[-7]>=42583,C[-7]<=42586),(VLOOKUP(C[9],'C:\Users\etabakman\Desktop\[BillNet Master List - current.xlsx]08-01-2016'!C39:C41,2,FALSE))," & _ 

"IF(AND(C[-7]>=42587,C[-7]<=42593),(VLOOKUP(C[9],'C:\Users\etabakman\Desktop\[BillNet Master List - current.xlsx]08-05-2016 V2'!C39:C41,2,FALSE))," & _ 

"IF(AND(C[-7]>=42594,C[-7]<=42735),(VLOOKUP(C[9],'C:\Users\etabakman\Desktop\[BillNet Master List - current.xlsx]BillNet Master list'!C39:C41,2,FALSE))))))))"