정답
=D29 + D29 * (IF(AND(F29>=5,G29>=3), VLOOKUP(E29+F29+G29,$J$33:$K$36,2,TRUE), 0))
=기본급 + 상여금(기본급*if(and조건이 맞으면 상여금을, 아니면 0)) ------------------------> A + A
제가 작성한건
=D29 +D29 *(VLOOKUP( E29+F29+G29, $J$33:$K$36,2,TRUE)) + IF(AND(F29>=5,G29>=3),VLOOKUP( E29+F29+G29, $J$33:$K$36,2,TRUE), 0)
+기본급 + 상여금(기본급*상여금율) + if(and조건이 맞으면 상여금을, 아니면 0을) ------------> A + A + A
어떻게 뚝딱거리면서 해보긴 했는데, 하나의 셀(H30)을 제외하고는 답이 똑같이 나와서요. 보면 볼수록 헷갈려서 도움요청합니다.
1. 왜 한 셀을 제외하고는 정답과 같게 나왔는지
2. 왜 정답으로 나온 수식으로 작성을 해야하는지
3. 제가 접근한 방향에서는 무엇을 고쳐야 정답이 되는지 궁금합니다. (아예 틀렸다면 정답 말고 또다른 수식이 있는지)
=D29 +D29 *(VLOOKUP( E29+F29+G29, $J$33:$K$36,2,TRUE)) + IF(AND(F29>=5,G29>=3),VLOOKUP( E29+F29+G29, $J$33:$K$36,2,TRUE), 0)
=D29 +D29 * IF(AND(F29>=5,G29>=3),VLOOKUP( E29+F29+G29, $J$33:$K$36,2,TRUE), 0)
빨간색으로 표시된 부분이 필요가 없는 부분이라 생각 합니다.
if문의 값이 거짓이라 0 값이 나온다면 정확한 결과가 나오지만
참이 되어서 VLOOKUP( E29+F29+G29, $J$33:$K$36,2,TRUE) 을 표시하게 되면 결과가 다르게 나오는 것입니다.
총급여를 계산 하는데 근무년수가 5년이상, 경력점수가 3이상인 사원에게만 상여금을 적용합니다.
기본급+ 기본급*(근무년수가5년이상이고 경력점수가3이상이면,상여금적용,아니면 0)
이 되죠.
그래서 조건에 해당 하지 않으면 그냥 기본급만 나타나게 되고
조건에 맞으면 기본급에 상여금을 더한 값이 나오게 됩니다.
+ 보다 * 가 먼저 계산 되므로 상여금이 먼저 계산 되게 됩니다. 조건에 맞지 않으면
기본급*0 이 되므로 0이 되어
기본급+0이 되는 것이죠.
-
관리자2020-03-04 15:29:49
=D29 +D29 *(VLOOKUP( E29+F29+G29, $J$33:$K$36,2,TRUE)) + IF(AND(F29>=5,G29>=3),VLOOKUP( E29+F29+G29, $J$33:$K$36,2,TRUE), 0)
=D29 +D29 * IF(AND(F29>=5,G29>=3),VLOOKUP( E29+F29+G29, $J$33:$K$36,2,TRUE), 0)
빨간색으로 표시된 부분이 필요가 없는 부분이라 생각 합니다.
if문의 값이 거짓이라 0 값이 나온다면 정확한 결과가 나오지만
참이 되어서 VLOOKUP( E29+F29+G29, $J$33:$K$36,2,TRUE) 을 표시하게 되면 결과가 다르게 나오는 것입니다.
총급여를 계산 하는데 근무년수가 5년이상, 경력점수가 3이상인 사원에게만 상여금을 적용합니다.
기본급+ 기본급*(근무년수가5년이상이고 경력점수가3이상이면,상여금적용,아니면 0)
이 되죠.
그래서 조건에 해당 하지 않으면 그냥 기본급만 나타나게 되고
조건에 맞으면 기본급에 상여금을 더한 값이 나오게 됩니다.
+ 보다 * 가 먼저 계산 되므로 상여금이 먼저 계산 되게 됩니다. 조건에 맞지 않으면
기본급*0 이 되므로 0이 되어
기본급+0이 되는 것이죠.