33. | 아래 시트에서 주민등록번호의 여덟 번째 문자가 '1' 또는 '3'이면 '남', '2' 또는 '4'이면 '여'로 성별 정보를 알 수 있다. 다음 중 성별을 계산하기 위한 [D2] 셀의 수식으로 옳지 않은 것은? (단, [F2:F5] 영역은 숫자 데이터임) |
1. | =IF(OR(MID(C2, 8, 1)="2", MID(C2, 8, 1)="4"), "여", "남") |
2. | =CHOOSE(VALUE(MID(C2, 8, 1)), "남", "여", "남", "여") |
3. | =VLOOKUP(VALUE(MID(C2, 8, 1)), $F$2:$G$5, 2, 0) |
4. | =IF(MOD(VALUE(MID(C2, 8, 1)), 2)=0, "남", "여") |
정답 : [4]☜ 블럭 설정하면 보임 정답률 : 49%
| <문제 해설> 4. =IF(MOD(VALUE(MID(C2, 8, 1)), 2)=0, "남", "여") : c2셀의 주민번호 뒷자리 첫번째 숫자를 2로 나눈 나머지 값이 0이면 "여" 0이 아니면 "남"로 표시 -> 1을 2로 나누면 나머지 값이 1이고 이는 "남"으로 표시되어야 한다 따라서 =IF(MOD(VALUE(MID(C2, 8, 1)), 2)=1, "남", "여")이 맞다 [해설작성자 : 예찬아 공부하자]
예찬아 공부하자님 설명이 이해 안되시는 분은 그냥 4번에서 =IF(MOD(VALUE(MID(C2, 8, 1)), 2)=0, TRUE, FALSE) 이게 TRUE 일때 "여" FALSE일때 "남" 이 되어야 하므로 =IF(MOD(VALUE(MID(C2, 8, 1)), 2)=0, "여", "남") 으로 만 바꿔주면 됩니다! [해설작성자 : 콜라텍사이다충원창연]
1. OR -> C2셀의 8번째 숫자가 2이나 4면 여, 아니면 남 2. CHOOSE -> C2셀의 8번째 숫자가 1=남, 2=여, 3=남, 4=여 3. VLOOKUP(찾으려는 값,데이터를 추출하는 표, 추출할 열, 정확하려면FALSE,비슷하려면TRUE나 생략) [해설작성자 : 내가 헷갈려서 ㅋㅋ]
3번.VLOOKUP(VALUE(MID(C2, 8, 1)), $F$2:$G$5, 2, 0) VALUE(MID(C2, 8, 1) -> 기준값 $F$2:$G$5: 데이터 범위 2: 추출할 열 번호
-> 데이터 범위의 첫 번째 열(문제에서는 F열)에서 기준값과 같은 데이터를 찾은 후, 기준값이 있는 행과 추출할 열 번호가 만나는 위치의 데이터를 표시함.
EX) 김지수의 성별 정보 찾기 C2의 8번째 숫자가 4, 데이터 범위의 첫 번째 열(F열)에서 4는 5행에 위치함. 추출할 열(범위의 2번째 열 = G열)과 5행이 만나는 곳의 데이터는 '여자'
따라서 김지수의 성별은 여자. [해설작성자 : 도가니도가니]
<<보기 1번>> =IF(OR(MID(C2, 8, 1)="2", MID(C2, 8, 1)="4"), "여", "남") [해석] C2셀에서 8번째 자리의 첫번째 글자가 2 또는 4이면 ‘여’를 출력 하고, 아니면 ‘남’을 출력해라. [결과값] 남
(1) MID(텍스트, 시작 위치, 개수) : 텍스트의 시작 위치부터 지정한 개수만큼 표시(텍스트 함수) (2) OR(인수1, 인수2, ...) :인수 중 하나라도 참이면 참(논리 함수) (3) IF(조건, 인수1, 인수2) :조건을 비교하여 참이면 인수1, 거짓이면 인수2를 실행(논리 함수)
<<보기 2번>> =CHOOSE(VALUE(MID(C2, 8, 1)), "남", "여", "남", "여") [해석] C2셀에서 8번째 자리의 첫번째 문자 데이터를 숫자 데이터로 변환한 값이 1이면 ‘남’, 2이면 ‘여’, 3이면 ‘남’, 4이면 ‘여’를 출력해라. [결과값] 남
가) MID(텍스트, 시작 위치, 개수) : 텍스트의 시작 위치부터 지정한 개수만큼 표시(텍스트 함수) *참고 : 숫자 데이터 중간에 공백이나 특수문자가 있으면 문자로 인식된다. => 보기 2번 함수 적용시 반환되는 값 : “1”(문자 데이터는 “1”로 표시 숫자데이터는 그냥 1로 표시) 나) VALUE(텍스트) : 텍스트를 숫자로 변환함(텍스트 함수) 다) CHOOSE(인수, 첫 번째, 두 번째, ...) : 인수가 1이면 첫 번째를, 인수가 2이면 두 번째를 입력함(찾기/참조 함수)
<<보기 3번>> =VLOOKUP(VALUE(MID(C2, 8, 1)), $F$2:$G$5, 2, 0) [해석] C2셀에서 8번째 자리의 첫번째 문자데이터를 숫자데이터로 변환해 기준 값으로 삼는다. F2셀부터 G5셀의 첫번째 열에서 기준 값과 정확히 일치하는 데이터(코드 : 1)를 찾아 같은 행의 2번째 열에 있는 데이터(남)를 D2셀에 출력해라. [결과값] 남
(1) MID(텍스트, 시작 위치, 개수) : 텍스트의 시작 위치부터 지정한 개수만큼 표시(텍스트 함수) =>>보기 3번 함수 적용시 반환값 : “1”(문자 데이터) (2) VALUE(텍스트) : 텍스트를 숫자로 변환함(텍스트 함수) =>> 보기 3번 함수 적용시 반환값 : 1(문자 데이터를 숫자 데이터로 변환) (3) VLOOKUP(기준값, 범위, 열 번호, 옵션) : 범위의 첫 번째 열에서 기준값과 같은 데이터를 찾은 후, 기준값이 있는 행에서 지정된 열 번호 위치에 있는 데이터 표시(찾기/참조 함수) =>> 보기 3번 함수 적용시, 기준값 1, 범위 F2:G5, 열번호 2, 옵션 0 =>> 결과값 : 남 *VLOOKUP/HLOOKUP 함수의 옵션 • TRUE(1) 혹은 생략 : 기준값보다 작거나 같은 값 중에서 근접한 값을 찾습니다. • FALSE(0) : 기준값과 정확히 일치하는 값을 찾습니다.
<<보기 4번>> =IF(MOD(VALUE(MID(C2, 8, 1)), 2)=0, "남", "여")
(1) MOD(인수1, 인수2) : 인수1을 인수2로 나눈 나머지(수학/삼각 함수) =>> 보기 4번 함수 적용시 : Mod(1,2)=0 1을 2로 나누었을 때 반환되는 나머지 값은 1이기 때문에 거짓(false) (2) IF(조건, 인수1, 인수2) :조건을 비교하여 참이면 인수1, 거짓이면 인수2를 실행(논리 함수) *참고: 어떤 수를 2로 나누어서 나머지가 1라는 것은 홀수를 의미하고, 나머지가 0이면 짝수를 의미함. 이 함수에서는 홀수면 “남”을 짝수면 “여”를 반환하기로 되어 있기 때문에 원하는 결과값을 도출할 수 없음. 그래서 [콜라텍사이다충원창연] 님 해설처럼 “남”, “여”를 “여”, “남”으로 수정하면 결과값 “남”을 얻을 수 있음. [해설작성자 : 김찰떡]
1. IF(OR(MID(C2, 8, 1)="2", MID(C2, 8, 1)="4"), "여", "남") C2부터 8번째 첫 글자가 2 or C2부터 8번째 첫 글자가 4 이면 여, 아니면 남
2. CHOOSE(VALUE(MID(C2, 8, 1)), "남", "여", "남", "여") C2부터 8번째 첫 글자가 1:남 2:여 3:남 4:여
3. VLOOKUP(VALUE(MID(C2, 8, 1)), $F$2:$G$5, 2, 0) C2부터 8번째 첫 글자가 F2~G5 차트와 일치하는 값(0:일치)이 있다면 그 행의 2번째 열의 데이터를 출력 1, 2, 3, 4중 하나가 나왔다면 차트에서 일치하는 숫자를 감지한 후 그 숫자의 오른쪽 칸(2번째 열)의 데이터(남or여)를 출력함
4. IF(MOD(VALUE(MID(C2, 8, 1)), 2)=0, "남", "여") C2부터 8번째 첫 글자를 2로 나눈 나머지가 0이면 남 아니면 여 그러나 남자는 2로 나눈 나머지가 1이므로 틀렸음 [해설작성자 : 8월의 요정]
[동영상 해설 보기 : https://youtu.be/tG4bHxbSvuo?t=412] |
|