[ 문제 ]

1. 등록일 필드의 12개월 후의 날짜를 F4:F15에 예와 같이 표시 (예 : 2020/02/02)표시.

(EDATE, TEXT함수 사용)

 

2. 등록일 필드의 12개월 후의 날짜를 G4:G15에 표시.

단, 표시되는 날짜의 해당 달의 마지막 날이 되도록 표시

단, 형식을 이용하여 예와 같이 표시 (예 : 2020-02-02) (EOMONTH함수 사용)

 

3. 기준일 이전에 등록한 사람에 한하여,

두 날짜 사이의 기간을 예와 같이 H4:H15에 표시 (예 : 10개월)

단, 기준일 이후에 등록한 사람을 공백으로 표시

단, 한 달은 30일로 계산(DAYS360, QUOTIENT, IF함수 사용)

 

4. 6월 이후의 생일을 지닌 사람은 "대상자",

그렇지 않은 사람은 "미대상자"로 I4:I15에 표시 (IF, MONTH함수 사용)


[ 1. 등록일 필드의 12개월 후의 날짜를 F4:F15에 예와 같이 표시 (예 : 2020/02/02)표시.

(EDATE, TEXT함수 사용) ]

EDATE함수는 정해진 시작 날짜로부터 N개월 후 or N개월 전의 값을 구하는 함수입니다.

하지만 엑셀은 날짜를 숫자로 기억하고 있습니다.

여기서의 "숫자"란,

 

여러분이 알고 있는 "2020-02-02"의 날짜로 표시된 숫자가 아닌,

42257과 같이 진짜 숫자로 이루어진 값입니다.

 

때문에 이를 우리가 알고 있는 날짜형식의 값으로 변경하기 위해서

 

셀 서식의 표시형식을 변경하거나, (특정 셀 우클릭)

문제에서 언급된 TEXT함수처럼,

특정 함수를 사용하여 형식을 변경해 주어야 합니다.

 

위 문제의 경우,

"TEXT함수를 사용"해야 하는 문제이기에,

 

1. 먼저 작성한 EDATE함수를 잘라내기 합니다. (우클릭 ▶ 잘라내기 or ctrl+x)

(잘라내기를 사용하지 않고 직접 입력하셔도 값은 동일합니다.)

2. 함수 마법사를 클릭하여 TEXT함수를 찾고,

 

3. 값과 형식을 입력,

 

4. 표시된 함수의 결과를 확인. 끝.

 

[ TIP. 날짜 형식 ]


[ 2. 등록일 필드의 12개월 후의 날짜를 G4:G15에 표시.

단, 표시되는 날짜의 해당 달의 마지막 날이 되도록 표시

단, 형식을 이용하여 예와 같이 표시 (예 : 2020-02-02) (EOMONTH함수 사용) ]

 

 

EOMONTH함수는

EDATE함수와 작성 방법이 동일합니다.

 

다만, 차이점은

 

EDATE는 더하거나 뺀 개월 수의 날짜를 표시하고,

EOMONTH는 더하거나 뺀 개월 수의 날짜의 마지막 날을 표시합니다.

 

위 그림처럼 2020년 02월 03일이면,

EDATE는 2020년 12월 03일

EOMONTH는 2020년 12월 31일로 표시됩니다.

 

그리고 결과 값 또한 두 함수가 모두 숫자형식으로 나오기 때문에

날짜형식으로 변환해주어야 합니다.

 

문제에서 "형식"을 이용하라 했기 때문에.

 

1. 수식이 입력된 셀 전체를 드래그 ▶ 우클릭 ▶ 셀 서식

혹은

수식이 입력된 셀 전체를 드래그 ▶ Ctrl + 1 을 입력하시면 셀 서식창이 표시됩니다.

 

2.( 두개의 2번 중 더 편하신 걸로 하시면 됩니다. 그래도 저는 첫번째 2번을 추천)

edate함수 tip에 있던 표시형식을 사용하여 문제의 예시와 동일하게 작성.


[ 3. 기준일 이전에 등록한 사람에 한하여,

두 날짜 사이의 기간을 예와 같이 H4:H15에 표시 (예 : 10개월)

단, 기준일 이후에 등록한 사람을 공백으로 표시

단, 한 달은 30일로 계산 (DAYS360, QUOTIENT, IF함수 사용) ]

 

 

먼저 days360함수는

두 날짜 사이의 day의 수를 계산하는 함수입니다.

 

그리고 문제에서 기준일 이전의 값을 원하기 때문에,

시작 날짜를 등록일로 설정해줍니다.

그렇지 않으면 음수값이 나와서 문제에서 요구하는 개월 수를 구하는데 제한이 생깁니다.

 

그리고 days360함수는 "표시 방식"을 지정할 수 있습니다.

 

1번 방식 = false = us식 - 시작 날짜와 끝 날짜는 30일로 계산합니다.

2번 방식 =true = 유럽식 - 시작 날짜 및 끝 날짜가 1개월의 31번째 일인 경우 해당 월의 30번째 일과 같습니다.

 

이렇게 2가지의 방식이 있는데,

이는 문제에서 언급하는 방식을 사용하면 됩니다.

(예를들어 문제에서 1번방식 사용 or 유럽식을 사용. 이라고 명시해줍니다.)

 

DAYS360함수로 날의 수(DAY)를 구했으니

이제는 개월 수(MONTH)를 구해야 합니다.

 

문제에서 언급한 QUOTIENT함수를 사용하면

나눗셈의 몫을 구할 수 있습니다.

(MOD함수는 나눗셈의 나머지를 구하는 함수)

 

그리고 역시 문제에서 언급한 한 달을 30일로 계산하는 방식에 따라

30으로 나누어지면

 

DAYS360함수로 구한 DAY를 MONTH로 구할 수 있습니다.

그리고 IF함수를 이용하여

기준일 이전에 등록한 값에 한하여 N개월 형식으로 표시해주고,

그렇지 않은 값에 대해서는 공백을 만들어 줍니다.

 

IF함수는 이전에 다루었죠 ( IF함수 링크 )

$(절대값)에 대한 내용도 다루었구요 ( $ 링크 )

 

그리고 또 중요한 것이

&와 ""의 쓰임입니다.

 

& ▶ A와 B를 연결하겠다는 개념

" " ▶ 문자를 강제로 삽입하겠다는 개념

 

따라서

위 QUOTIENT식과 "개월"이라는 단어를 결합하기 위해서

QUO식 & "개월" 이라고 작성한 것입니다.

 

그러면

[ QUO식의 결과 + 개월 ]로 표시됩니다.

 

마찬가지로 공백 " " 로 표시합니다.

띄어쓰기를 꼭 하셔야합니다.

 

TIP.

&"단어"는 정말 ~ 자주 사용됩니다.

엑셀의 계산문제는 물론이고,

엑셀의 모듈과 엑세스의 식에서 굉장히 많이 사용되기 때문에 꼭꼭 숙지하셔야 합니다.


4. 6월 이후의 생일을 지닌 사람은 "대상자",

그렇지 않은 사람은 "미대상자"로 I4:I15에 표시 (IF, MONTH함수 사용)

 

오늘 제일 쉬운 문제입니다.

 

YEAR, MONTH, DAY함수는 그냥 날짜값만 입력하면 끝!

 

IF함수 정말 많이 사용하죠?

 

실제로 시험에 출제될 확률이 거의 90%이기 때문에

IF함수의 문제는 많이 풀어보는 것을 권장합니다.

 

+ Recent posts