책에 나온 정답
Public Function kb기본급(입사일, 근무년수, 급여증가분)
If year(입사일) <= 2003 Then
kb기본급 = 1000000 + 근무년수 * 급여증가분
ElseIf 입사일 >= 2004 Then
kb기본급 = 800000 + 근무년수 * 급여증가분
End If
End Function
제 정답
Public Function kb기본급(입사일, 근무년수, 급여증가분)
If 입사일 <= 2003 Then
kb기본급 = 1000000 + 근무년수 * 급여증가분
ElseIf 입사일 >= 2004 Then
kb기본급 = 800000 + 근무년수 * 급여증가분
End If
End Function
다른 부분은 위에 입사일을 year로 처리했느냐 안 했느냐의 차이인데, 지금 같은 경우는 년도기 때문에 굳이 입사일에 year함수를 써야 하는 것인가요?
두 번째 질문입니다!ㅠㅠ
=IF($G$5:$G$15=H5,MIN($I$5:$I$15))
=MIN(IF($G$5:$G$15=H5,$I$5:$I$15))
두 식에서 함수 MIN의 위치만 바꾸었을 뿐인데 결과가 다르게 나오는데 아무리 생각해봐도 같은 식인데 왜 값이 다르게 나오는지 이해할 수가 없습니다.
도와주세요
1. 결과가 정확히 나온다면 상관 없습니다.
필드에 입력된 값이 날짜형식인 경우 년에 해당하는 값을 추출한 후 비교하는 것이 정확하므로 year 을 사용합니다.
2. 배열 수식이기 때문에 첫번째 식과 같이 작성하시면 안되세요.
첫번째 식은 if 문의 조건이 참이면 min 을 계산 하는 것이구요.
두번째 식은 if 문의 조건이 참이면 값을 반환하고 반환된 값들중에서 min 에 해당하는 값을 구하게 됩니다.
좋은 하루 되세요.
-
*2015-07-06 09:47:13
1. 결과가 정확히 나온다면 상관 없습니다.
필드에 입력된 값이 날짜형식인 경우 년에 해당하는 값을 추출한 후 비교하는 것이 정확하므로 year 을 사용합니다.
2. 배열 수식이기 때문에 첫번째 식과 같이 작성하시면 안되세요.
첫번째 식은 if 문의 조건이 참이면 min 을 계산 하는 것이구요.
두번째 식은 if 문의 조건이 참이면 값을 반환하고 반환된 값들중에서 min 에 해당하는 값을 구하게 됩니다.
좋은 하루 되세요.