I think you'll need to create a very detailed decision tree first
(1) If Age < 59 then
"Not Eligible"
Stop
(2)ElseIf Income > 40,000 then
"Not Eligible"
Stop
(3)ElseIf Income > 30,000 and Assets > 50,000 then
"Not Eligible"
"Stop
(4)ElseIf Income > 30,000 and Assets <= 50,000 then
"Eligible
Etc.
The various limits would be stored in a 'database' like worksheet. I used named ranges ( the [...] stuff) and a user function to stay with the worksheet paradigm
Normally I'd have a userform to capture information
Option Explicit
Function Decision(Age As Double, Income As Double, Assets As Double, Current As String) As Variant
If Age = 0 Then
Decision = vbNullString
Exit Function
End If
If Age < [MinAgeToApply] Then
Decision = "Too young to apply. Must be at least " & [MinAgeToApply] & " years old"
Exit Function
End If
If Age < [MinAge] Then
If UCase(Left(Current, 1)) = "Y" Then
Decision = "Eligible for Additional Supplimental Benefits"
Else
Decision = "Not eligible (age < " & [MinAge] & ")"
End If
Exit Function
End If
If Income > [MaxIncome] Then
Decision = "Not eligible (income > " & Format([MaxIncome], "$#,##0") & ")"
Exit Function
End If
If Assets > [MaxAssets] Then
Decision = "Not eligible (assets > " & Format([MaxAssets], "$#,##0") & ")"
Exit Function
End If
If UCase(Left(Current, 1)) = "Y" Then
Decision = "Eligible for Supplimental Benefits"
Else
Decision = "Eligible for Basic Benefits"
End If
End Function