2017-01-11 9 views
0
I assume x is the number I'm going to analyze and "y" is as "male" or "female" and "z" is as age group. 

x는 결과가 "저체중", "과체중"또는 "과체중"이되는 숫자입니다. 실제로 BPI 인 x는 남성과 여성에게 동일하지 않습니다. X = (21)는 다음 성별과 연령에 의존하는 경우 예를 들어, 그것은으로 분류 할 것 중 하나 "underweigh" ","건강한 "또는 과체중.Excel, 함수 if,

Function BAI(x As Integer, y As String, z As Integer) As String 


If x < 21 And y = "female" And 20 <= z <= 39 Then 
    BAI = "UNDERWEIGHT" 

Elseif 22 <= x <= 33 And y = "Female" And 20 <= z <= 39 Then 
    BAI = "Healthy" 

ElseIf 34 <= x <= 38 And y = "Female" And 20 <= z <= 39 Then 
    BAI = "overweight" 

ElseIf x >= 39 And y = "Female" And 20 <= z <= 39 Then 
    BAI = "OBESE" 

ElseIf x <= 23 And y = "female" And 40 <= z <= 59 Then 
    BAI = "UNDERWEIGHT" 

ElseIf 24 <= x <= 35 And y = "female" And 40 <= z <= 59 Then 
    BAI = "Healthy" 

ElseIf 36 <= x <= 41 And y = "female" And 40 <= z <= 59 Then 
    BAI = "Overweight" 

ElseIf x >= 42 And y = "female" And 40 <= z <= 59 Then 
    BAI = "OBESE" 

ElseIf x <= 25 And y = "female" And 60 <= z <= 79 Then 
    BAI = "UNDERWEIGHT" 

ElseIf 26 <= x <= 38 And y = "female" And 60 <= z <= 79 Then 
    BAI = "Healthy" 

ElseIf 39 <= x <= 43 And y = "female" And 60 <= z <= 79 Then 
    BAI = "Overweight" 

ElseIf x >= 44 And y = "female" And 60 <= z <= 79 Then 
    BAI = "obese" 

ElseIf x <= 8 And y = "male" And 20 <= z <= 39 Then 
    BAI = "Underweight" 

ElseIf 9 <= x <= 21 And y = "male" And 20 <= z <= 39 Then 
    BAI = "Healthy" 

ElseIf 22 <= x <= 26 And y = "male" And 20 <= z <= 39 Then 
    BAI = "overweight" 

ElseIf x >= 27 And y = "male" And 20 <= z <= 39 Then 
    BAI = "OBESE" 

ElseIf x <= 11 And y = "male" And 40 <= z <= 59 Then 
    BAI = "UNDERWEIGHT" 

ElseIf 12 <= x <= 23 And y = "male" And 40 <= z <= 59 Then 
    BAI = "Healthy" 

ElseIf 24 <= x <= 28 And y = "male" And 40 <= z <= 59 Then 
    BAI = "Overweight" 

ElseIf x >= 29 And y = "male" And 40 <= z <= 59 Then 
    BAI = "OBESE" 

ElseIf x <= 13 And y = "male" And 60 <= z <= 79 Then 
    BAI = "UNDERWEIGHT" 

ElseIf 14 <= x <= 25 And y = "male" And 60 <= z <= 79 Then 
    BAI = "Healthy" 

ElseIf 26 <= x <= 30 And y = "male" And 60 <= z <= 79 Then 
    BAI = "Overweight" 

End If 

End Function 
+1

[How to Ask] (http : // stackoverflow. co.kr/help/how-to-ask)를 읽고 그에 맞게 질문을 수정하고 더 읽기 쉽도록하십시오. 질문은 작성된 형식으로 닫힐 가능성이 매우 높습니다. –

+0

이미 시도한 것을 잘 기입하십시오. 입력 한 내용과 반환 할 내용을 잘 표시하십시오. – thatsIch

+0

힌트로, 예제가 없으면 IF() 및 VLOOKUP()이 작동 할 것을 제안합니다. –

답변

0

당신은 IF 통합 문서 기능을 사용하여 원하는 결과를 얻을 수 있습니다. 효율적으로 활용하려면 . 경우 하나에서 여러 기준 조건이 AND() 및 OR을 사용하는 경우() 함수를 만들려면 -., 둥지 해당 섹션 내부 기능) (경우 추가 ELSEIF 형식 논리 예

=IF(OR(AND(A1="Male", A2>20),AND(A1="Female",A2>30)), IF(A3>200,"overweight","healthy"),"otherstuff") 

이것은 가야 당신은 올바른 길을 시작했습니다.

+0

내 경우에는 VBA가 필요하다고 생각하는데, 나는 그들 모두가 의존하는 3 가지 변수가 있습니다. 연령, 성별 및 BPI. Bpi는 숫자입니다. 이 숫자는 사용자의 나이와 성별을 기반으로 분석해야합니다. 예. 남성이면서 BPI가 8 미만인 여성의 연령대가 20-39 세인 여성은 여성에 대해 "저체중"입니다. 그들이 20-39이고 여성과 bpi가 21 미만이면 저체중입니다. –

+0

복잡한 논리의 경우 VBA를 사용하면 훨씬 쉽게 읽고 유지할 수 있습니다. 세 변수를 매개 변수로 사용하여 원하는 결과 문자열을 반환하는 함수를 작성하기 만하면됩니다. 그런 다음 셀에서 해당 함수를 호출하십시오. –