본문 바로가기

자격증

[컴활1급] 컴퓨터활용실습 1급 엑셀 요약

 

빠르게 따는 게 이득! 컴활 1급



01. 셀 서식 및 시트 보호

>>>  셀 서식: [Ctrl + 1] or [마우스 우클릭]

>>> 사용자 지정 서식 :  [셀 서식]- [표시형식]
# 예1) 0.0%;"*";"*"  <- 양수면 퍼센트로, 음수거나 0이면 *로 표시
# 예2) [파랑][>=300]0"개";[빨강][>=200]0"개";0"개" <-범위에 맞게 색 설정 
# 추가할 문자는 큰 따옴표(" ")로 묶어야 함

>>> 글꼴 : [셀 서식] - [글꼴]
# 글꼴 색과 글꼴 스타일

>>> 셀 보호 : [셀 서식] - [보호] 
# 셀 잠금과 수식 숨기기

>>> 시트 보호 : [검토] - [시트 보호]
# 잠긴 셀의 내용과 워크시트 보호

 

02. 조건부 서식 / 중복된 항목 제거

>>> 조건부 서식 : [홈] - [조건부 서식] - [새 규칙]
# "행 전체" or "열 전체"에 동일한 서식 적용에 대한 문제

>>> 수식을 사용하여 서식을 지정할 셀 결정 : [조건부 서식] - [새 규칙] 
# 예)=AND($E3>=10000000, YEAR($C3)=2020) : E행의 값이 10,000,000이상이고 C행의 연도가 2020년
# 예) = $C3 >= 12/24 : 시간이 오후 12시 이후인 값 (오후 12시 30분은 12/24 + 30/(12*60)으로 표현
# 수식(서식지정 조건)의 값은 범위의 첫번째 값으로 설정
# 열(또는 행)에 대해서만 절대 참조를 할 것! : $A3과 같이 열에 절대참조시 행 전체에 대해 동일한 서식 적용

 

03. 자동필터 / 고급필터

>>> 자동필터 : [홈]-[정렬 및 필터]-[필터]
# 세부 조건 설정은 각 열의 [숫자 필터]에서 설정. 예) 보다 크거나 작음

>>> 고급필터 : [데이터]-[고급]
# 조건 예) =AND(RIGHT($C5,1)="장", $H5>=AVERAGE($H$5:$H$14))
# 데이터의 첫번째 행의 값에 대해 조건 설정 => True/False
# 필터 적용 전 원본 데이터 범위 안의 셀 선택 후 진행
# 같은 행에 입력된 조건은 AND / 다른 행에 입력된 된 조건은 OR 조건. 

 

04. 페이지 레이아웃 / 통합 문서 보기

>>> 페이지 나누기 미리보기 : [보기] - [페이지 나누기 미리보기]

>>> 페이지 레이아웃 설정: [페이지 레이아웃] - [페이지 설정(자세히)]
# 여백 : 가운데 정렬
# 머리글/바닥글 : 페이지 번호 표시 설정
# 시트 : 인쇄 영역, 반복할 행 설정

>>> 페이지 나누기 : [페이지 레이아웃] - [나누기] - [페이지 나누기 삽입]
# 페이지를 나누고자 하는 셀을 선택 후 진행

 

05. 논리함수, 찾기 함수, 텍스트 함수, 정보 함수

>>> 논리 함수: IF, OR
>>> 찾기 함수: VLOOKUP, HLOOKUP, INDEX, MATCH, CHOOSE, OFFSET
>>> 텍스트 함수 : LEFT, MID, RIGHT, UPPER, TEXT, REPLACE, FIND
>>> 정보 함수: ISBLANK, ISERROR

# 예) =INDEX($B$2:$F$2,1,MATCH(MAX(B5:F5),B5:F5,0)) : 값이 최대가 되는 행의 이름 출력
# 예2) =HLOOKUP(AVERAGE($D12:$F12), $B$19:$E$20,2) &"등급" : 평균값을 기준표(가로)에 따라 나타냄
# 예3) =INDEX($H$21:$I$24, VLOOKUP($A13, $H$13:$I$17, 2,0),2) : 기준표(세로)

 

06. 수학/삼각 함수, 통계 함수, 재무 함수

>>> 수학/삼각 함수: SUM, SUMIF, SUMPRODUCT, ROUND, INT, MOD, ABS
>>> 통계 함수: AVERAGE, MAX, MIN, COUNT, LARGE, SMALL, MEDIAN, FREQUENCY, RANK
>>> 재무 함수: FV, PMT, PV

# 예)  =ROUND(FV(4%/12,5*12,-D14,,1),-2) : 월 복리 4%로 5년간 D열의 값 만큼씩 매월 초 예금
# 예2) =SUMPRODUCT(D25:F25,$B$21:$D$21) : 같은 크기의 두 범위에서 같은 위치의 값끼리 곱하여 더함.

 

07. 데이터베이스 함수, 날짜/시간함수, 사용자 정의 함수 

>>> 데이터베이스 함수 : DSUM, DAVERAGE, DCOUNT, DCOUNTA, DGET
>>> 날짜/시간 함수: DAY, DAYS, YEAR, MONTH

# 예) =DGET(A6:F15, A6, A2:A3) : DGET(데이터 전체, 찾는 열, 조건 셀 범위)
# 예2) =DCOUNTA(A18:G25, 4, E2:E3) : DCOUNTA(데이터 전체, 조건 적용할 열 번호, 조건 셀 범위)
# 조건 셀은 조건을 적용할 열의 첫번째 데이터로 수식 적용

>>> 사용자 정의 함수 : [개발 도구] - [Visual basic] - [삽입] - [모듈] - [코드 입력]
Public Function fn함수(변수1, 변수2)
    If (조건) Then
        fn함수 = 결과값1
    Else
        fn함수 = 결과값2
    End If 
End Function

>>> 함수의 변수(인수)로 엑셀 파일 내 셀 값 읽어오는 방법 : [<시트이름>!<셀 위치>]
# 예) If (Year([계산작업!I18]) - 입사연도) >= 10 Then fn비고 = "장기근속"

 

08. 배열 수식

>>> 배열 함수 :  SUM, AVERAGE, LARGE, MAX, INDEX 등 배열을 함수의 인수로 사용
>>> 여러 셀에 배열 수식 적용: [수식 입력] - [CTRL + SHIFT + ENTER] - [셀 채우기(더블클릭)]

예) {=LARGE(($B3=$B$11:$B$29)*($E$11:$E$29), 2)} : 배열 내 조건을 만족하는 값들 중 2번째로 큰 값
예2) {=SUM(($B3=$B$11:$B$29)*(YEAR($H$11:$H$29)=2024))} :배열 내 두가지 조건을 만족하는 값의 개수

 

09. 데이터 유효성 검사

>>> 유효성 검사 : [데이터] - [데이터 유효성 검사] 

 

10. 부분합 / 정렬 

>>> 실행 순서 : 1)정렬,  2)부분합

>>> 정렬 : [데이터] - [정렬] 
# 반드시 부분합 실행 전에 정렬
# 사용자 지정 정렬 : [정렬] - [정렬 옵션] - [사용자 지정 목록] - [새 목록 & 추가]

>>> 부분합: [데이터] - [부분합] 
# 최초 부분합은 "새로운 값으로 대치" 선택 함 / 추가 부분합은 선택 안함

 

11. 피벗 테이블

>>> 외부 데이터 가져오기 : [데이터] - [데이터 가져오기] - [기타 원본에서] - [Microsoft Query에서]
# (2024 ver) [기타 원본에서] => [레거시 마법사] (**없으면 옵션에서 추가)

>>> 외부 데이터 원본으로 : [삽입] - [피벗 테이블] - [외부 데이터 원본에서] 

>>> 레이아웃 설정(개요 형식) : [디자인] - [보고서 레이아웃] - [개요 형식으로 표시]
>>> 총 합계 표시 안함 설정 : [디자인] - [총 합계] - [행 및 열의 총합계 해제] 

>>> 값 필드 설정 : [변경할 필드의 셀 선택] - [마우스 우클릭] - [값 필드 설정]
# 예) 필드의 값에 대해 합계(기본값)를 평균으로 변경
# [변경할 필드의 셀 선택] - [마우스 우클릭] - [값 요약 기준]/[값 표시 형식] 에서도 가능

>>> 그룹 지정: [변경할 필드의 필드명 선택] - [그룹] 

>>> 특정 데이터만 별도 시트에 표시 : 표시할 데이터 셀 [더블클릭] - [시트 이름 변경]

>>> 빈 셀 표시 / 셀 병합 가운데 맟춤 : [마우스 우클릭] - [피벗 테이블 옵션] - [레이아웃 및 서식]
# 피벗 테이블 안의 셀에 대해 마우스 우클릭 해야 한다. 

 

12. 데이터 표 

>>> 준비 : [결과 셀 수식 Ctrl+C] - [데이터 표 좌측 상단에 Ctrl+V] - [표 전체선택] 

>>> 데이터 표 : [데이터] - [가상 분석] - [데이터 표] 
# 입력 셀 : 가로 상단에 있는 데이터와 동일한 필드의 기존 값 (분석 전 값)
# 입력 셀 : 세로 좌측에 있는 데이터와 동일한 필드의 기존 값

 

13. 시나리오

>>> 준비: [변경셀/결과셀 이름 설정] 
# 변경셀 : 시나리오에서 값의 변화를 진행할 데이터 셀
# 결과셀: 변경셀의 값의 변화에 따라 최종적으로 변화할 결과의 데이터 셀
# 셀의 이름 변경은 셀의 열과 행이 만나는 곳(좌측 상단=이름 상자)에서 설정가능 

>>> 시나리오 작성 : [데이터] - [가상분석] - [시나리오 관리자] - [추가]
# 추가에 들어가서 시나리오 별 이름과 변경된 값을 설정

 

14. 통합

>>> 통합: [통합된 데이터 결과 범위 선택] - [데이터] - [통합] - [통합할 데이터 추가]
# 데이터 제목이 포함되지 않는 결과 데이터 셀만 선택 (첫번째 열과 행에 데이터 속성이 들어와야 함)
# 사용할 레이블 : 첫 행 / 왼쪽 열 =>  데이터 셀만 선택해서 넣었을 때만 작동

 

15. 목표값 찾기

>>> 목표값 찾기: [데이터] - [가상분석] - [목표값 찾기]
# 수식 셀 : 목표값을 설정할 셀
# 찾는 값 : 목표값

 

16. 차트

>>> 개별 차트 계열의 종류 및 보조축 설정: [마우스 우클릭] - [차트 종류 변경] - [혼합]

>>> 차트 요소 추가: [차트 디자인] - [차트 요소 추가] 

>>> 도형 스타일 변경: [서식] - [도형 스타일] 

>>> 차트 둥근모서리 설정 : [차트 영역 클릭] - [차트 영역 서식] - [테두리] 

>>> 차트 제목/축 제목 셀로 연결: [차트 디자인] - [차트 요소 추가] - [수식 입력창] - [연결할 셀 선택]
# 차트 요소 추가된 상태에서 바로 수식 입력창에 입력! 

 

17. 매크로

>>> 매크로 생성(양식 컨트롤) : [개발도구] - [삽입] - [만들기]
>>> 매크로 생성(도형 삽입) : [삽입] - [도형] - [마우스 우클릭] - [매크로 지정] - [만들기] 
# 도형 또는 양식 컨트롤 삽입시 [Alt] 누르고 드레그 하면 셀 칸에 맞추어 들어감
# 도형의 텍스트를 추가 혹은 변경 : 도형에서 [마우스 우클릭] - [텍스트 편집] 

>>> 매크로 기록: [개발도구] - [매크로 기록] - 작업진행 - [기록중지]
# 작업 예1) [사용자 지정 표시 형식] : [마우스 우클릭]-[셀 서식] 
# 작업 예2) [조건부 서식] : [홈]-[조건부 서식])
# 셀 서식 예) [>=30]"A관"* 0;[>=20]"B관"* 0;"C관"* 0 => [조건]"문자추가"<빈칸으로 채우기>값

 

18. 프로시저 작성

(프로시저 순서 : 폼 보이기 > 홈의 입력 칸에 셀의 값 연결 > 조회 버튼/종료 버튼 > 이벤트 프로시저)
>>> 프로시저 : [개발도구] - [디자인 모드] - [프로시저 입력할 박스 더블클릭]

>>> 프로시저 코드 수정: [개발도구] - [Visual Basic]

 

A. 어려운 함수 정리

>>> COUNTIFS(범위1, 조건1, 범위2, 조건2) : 두 범위에서 각각의 조건을 모두 만족하는 값의 개수
# 예) =COUNTIFS($D$20:$D$39,">="&A3,$D$20:$D$39,"<="&B3)
# 수식은 (" ")와 (&)로 묶어서 나타냄

>>> IFERROR(FIND("찾는 문자", 범위)>=위치조건, FIND 함수 에러) : 문자를 찾고, 에러발생 시 결과값 도출
# 예) = IFERROR(FIND("판매",$A$20:$A$39)>=1,FALSE)
# AVERAGE 등의 또 다른 수식안으로 들어가기 위해 IFERROR-True-Value을 FALSE로 설정

>>> DSUM(DB범위전체,합 계산에 사용할 필드명(열 번호), 조건셀 위치)
# 예) =DSUM($A$19:$I$39,7,H2:I3) / 조건 => 부서 : 판매1팀 | 입사연도 : >=2021 (같은 행, AND)
# 조건 셀은 조건에 사용되는 필드명 셀을 복사해 두고 아래에 해당 값에 대한 조건 입력

>>> CHOOSE(1~n 숫자 또는 수식, 1의 변환값, 2의 변환값, ...)   
# 예) =SUM(CHOOSE(WEEKDAY($B$13:$B$30,2),"월", "화", "수", "목", "금")=D$6))
# 숫자 코드를 문자로 변환하기 위해 사용하는 함수, 첫번째 인수 자리에 반드시 숫자에 해당하는 값(수식)

>>>TRUNC(숫자, 잘라낼 소수점 자리수) : 선택한 자리수 아래 소수점 절단 (Default : 0)
# 예) TRUNC((C31-F31)/100)

>>> REPT("반복할 문자", 반복 횟수) : 문자를 횟수만큼 반복 (반복횟수는 반드시 양수)
# 예) REPT("▶", TRUNC((C31-F31)/100)

>>> PMT(연 이자율%/12, 납입 년도*12, - 금액)
# =PMT(F9/12,G9*12,-E9,,)
# 모든 값은 월 기준이기에 12개월 단위로 변환해준다. 
# 금액의 위치에는 마이너스(-)를 붙혀서 결과를 양수로 바꾼다. 
# FV, PV에서도 동일한 구조 (목적만 다름)

>>> XLOOKUP(찾을 값, 값의 조건이 되는 범위, 해당 조건에서의 값이 되는 범위, 옵션1, 옵션2)
# VLOOKUP, HLOOKUP 의 기능을 겸하여 사용가능한 함수 ; 찾을 값이 어디에 속하는 지 범위 표에서 찾기
# 예) =XLOOKUP(C39, $B$33:$E$33,$B$34:$E$34,,-1) : B33:E33이 조건부분, B34:E34이 결과부분

>>> FREQUENCY(빈도를 찾는 값, 빈도값의 범위 조건 표)
# 예) =FREQUENCY(IF( (RIGHT($B$38:$B$45,3)="개발자"), $F$38:$F$45), A49:B49)
# 조건에 맞는 값의 빈도(수)를 찾아주는 함수 : 배열 함수로 수행해야 함.

 

B. 특수한 상황 정리

>>> {"가", "나", "다"}로 구성된 상품 코드에서 "다"의 경우 2번째 줄을, 그 외는 3번 줄의 값을 선택
# =HLOOKUP(D10, $F$2:$I$4, MATCH(LEFT(A10),{"다","나"}, -1)+1, TRUE)
# MATCH함수가 "다"의 경우 1을, "나"의 경우 2를 도출한다. 옵션 -1을 하여 "가"도 자신보다 큰 값을 찾도록 함 

 

C. 프로시저 코드 정리

>>> 폼 보이기 (Sheet 환경)
#폼 보이기: 판매자료입력.Show

>>> 폼에 값 연결(form 환경)
#텍스트 상자 값 연결 : txt텍스트상자이름.Value= Date
#콤보 상자에 리스트값 넣기 : cmb콤보상자이름.List = Array("값1", "값2", "값3") / cmb이름.AddItem "값1"
#리스트 상자에 연속된 셀값 연결: lst리스트상자이름.RowSource = "A1:A5"
# 포커스 옮기기: cmb콤보상자이름.SetFocus

>>> 폼 조회 및 닫기 버튼(form 환경)
# 폼 닫기 버튼 : Unload Me / Unload 폼이름
# 폼 조회 : Cells(Row_num, Col_num) / 입력행은 마지막으로 입력한 행의 위치 
입력행 = [b3].Row + [b3].CurrentRegion.Rows.Count - 1
txt판매일자 = Cells(입력행, 2)
txt제품명 = Cells(입력행, 3)

>>> 이벤트 프로시저(sheet 환경)
# 시트의 데이터가 변경(Change)시 글꼴 및 크기 변경: Target.Font.Name
 = "글꼴 이름" / Target.Font.Size = 4
# 시트 활성화(Activate)시 셀에 문자 입력: [b1] = "컴활합격"
# 셀 포인터 이동하기(활성화하기) : Target.Activate
# 셀 글꼴 스타일 "굵게" : [A1].Font.Bold = True


>>> 폼의 체크박스
# If ~ Else 조건문 사용 : chk박스이름.Value = True / False
# True / False 조건에서 cmd버튼이름.Caption = "값"  설정

>>> spin 버튼
# spin 버튼 위/아래를 눌렀을 때 값의 변화를  설정. : 변화할 값의 크기를 spin값에 곱(*)해줌 
# 예) txt국어.Value = spin국어.Value * 5

>>> 종료 버튼 눌렀을 때 메시지 박스
Private Sub Cmd종료_Click()
    MsgBox Now, vbOKOnly, "작업을 종료합니다."
    Unload Me
End Sub

 

(이전에 작성된 글)

==================================================================

[컴활 1급 문제 유형 확인]

문제 1 (15점) - 3문제
기본 작업
=> 15점 전부 

문제2 (30점) - 5문제
배열함수, 사용자 정의 함수, 일반 함수
=> 18점(최소 15점) / 어려운 함수 풀지 x

문제3 (20점) - 2문제 
피벗 테이블(반드시 출제), 데이터 분석 도구
=> 20점 전부
* 테이블 : 최종 결과물이 완벽히 동일해야 함(부분점수 없음, 오타 주의)

문제4 (35점) - 3문제 
기타 작업 : 차트, 매크로, 프로시저 문제
=> 30점 맞아야 함(최소 25)

=================== 총 77점 합격
문제 1,3,4 문제 푸는데 25분 이내에 + 문제 2 풀기 

 

[셀 서식 - 조건부 서식] -> 매크로 문제 

- 사용자 지정 방법 : 오른 마우스 -[셀 서식]-[사용자 지정]
- 셀 잠금 및 숨김 방법 : 오른 마우스-[셀 서식]-[보호]
- 시트 보호 방법 : [검토]-[시트 보호]
- 시트 중복된 값 제거: 시트 전체 선택 - [데이터]-[중복된 항목 제거]


** 사용자지정서식 ** 숫자 : #(유효하지 않은 숫자 생략) 0(유효하지 않은 숫자 채움)

예) 1 => 서식 ## (숫자를 2자리로 표시해줘) => 결과 1
예) 1 => 서식 00 (숫자를 2자리로 표시해줘) => 결과 01
예) 0.111 => 서식 0.0 (숫자를 소수점 첫째자리까지 표시) => 결과 0.1
(숫자보다 #, 0의 개수가 작은건 숫자를 그대로 표시 )
예) 10000 => 서식 #,##0 (숫자 뒤 3자리마다 , 찍어줘) => 결과 10,000
예) 10000 => 서식 #,##0, (숫자 뒤 3자리마다 , 찍어줘 뒤에 3자리 숨김)=> 결과 10

** 날짜 : Y(년도), M(월), D(일), AAA(요일)
예) 2023-04-15 => 서식 YY/M/DD => 23/4/15 aaaa => 월요일 ~ 일요일
예) 2023-01-02 => 1/2(월) m/d(aaa)

** 양수;음수;0;문자열
-> 4가지 데이터 타입의 서식을 한번에 적용할 수 있다. 각 타입의 조건은 ;(세미콜론)으로 구분
-> 조건이  있으면 [조건문]이 서식보다 먼저 온다. 
(조건식은 비교연산자 사용하여 조건을 만듦 : >= 이상, <= 이하, > 크다, < 작다, = 같다, <>같지않다)
예) 0.0%;"*";"*" -> 각 타입의 서식 적용
예) [>=300][빨강]0"개";[>=200][파랑]0"개";0"개" -> 각 타입에서 조건에 따라 색 서식 적용

*** 공백 넣기
-> 참가인원이 30명이상 A관, 20명 이상 B관, 그외는 C관
인원 30 결과 => A관      30
인원 25 결과 => B관      25
[>=30]"A관"* 0;[>=20]"B관"* 0;"C관"* 0
(A와 숫자 사이에 (* )을 넣어서 공백을 반복하도록 함.)

[>=300][빨강]0"개";[>=200][파랑]0"개";0"개"

 

[상대참조와 절대참조] -> 함수 문제

**상대참조 =A1 : 채우기 핸들로 복사할 때 아래로 복사하면 행[숫자]변하고, 오른쪽으로 복사하면 열[문자] 변한다.
**절대참조 =$A$1 : F4 (행번호, 열번호 앞에 $ 기호 있다. 복사해도 변하지 않는다)

*A$1 : 행는 변할수 있음 -> 혼합 참조
*$A$1 : 행과 열 모두 변할 수 없음 -> 절대 참조

 

[자동필터와 고급필터]

1. 자동필터
-> 과정: [홈]-[필터]
-> 단점 : and조건만 가능하고, or 조건은 불가능

2. 고급필터 
-> OR, AND, LEFT, MID, RIGHT, AVERAGE, SUM 등 함수 사용(문제에서 제시한 함수만을 사용)
-> 적용방법: 데이터 표 내부 셀 클릭-[데이터]-[고급]-범위 입력
-> 필드명은 반드시 "조건"으로 한다. => 조건에 필터 적용 수식 입력

=AND(RIGHT(C5,1)="장",H5>=AVERAGE($H$5:$H$14))

 

[여러 함수들]

** is 로 시작하는 함수들 
1. isblank (빈칸?) 
2. iserror (에러?)
3. isodd (홀수?)
4. iseven (짝수?)

** NOT 함수
NOT(isblank(data)) : 빈칸이 아니다. 

** ROW, COLUMN 함수
ROW : 열의 번호를 도출
COLUMN : 행의 번호를 도출

**MOD(a,b)
-> a를 b로 나눈 값 도출

** IFERROR(수식, 에러일때 값)
-> 에러가 발생 했을 때 반환할 값을 설정
ex) =IFERROR(AVERAGE(...), "") # 에러일 때 빈칸으로 반환

** TEXT(서식을 변경할 값, "변경할 서식")
-> 값의 서식을 변경(사용자 지정 서식) 

<TIP>
-> 사용하려는 함수를 수식 입력하고 수식 입력줄의 Fx 버튼 누르면 상세 내용을 볼수 있다.

 

[조건부 서식]

**조건부 서식
-> 행 전체, 열 전체 서식 지정 문제
-> [홈]-[조건부서식]-[새 서식 규칙]-[기본형]-[수식을 사용하여 서식지정]  
-> 수식을 변경 할 시: [조건부 서식]-[규칙 관리]
5번째 줄마다 배경 및 글꼴 서식 지정
-> 5번째 마다 = 5로 나눈 나머지가 0 / 짝수 = 2로 나눈 나머지가 0 (mod 함수 사용)
=MOD((ROW($B3)-2),5)=0

 

[페이지 설정 및 레이아웃]

** 페이지 나누기 미리보기 설정 
-> [보기]-[페이지 나누기 미리보기]
-> 마우스로 끌어가며 페이지 영역을 지정한다.

** 페이지 레이아웃
-> [페이지 레이아웃]-[페이지 설정]

 

[피벗 테이블] 

** 시험 유형
-> 외부 데이터 가져오기 : [데이터]-[데이터 가져오기]-[래거시 마이크로소프트 쿼리]-[Ms Access database]
-> 외부 데이터 원본으로 : [삽입]-[피벗 테이블]-[외부 데이터 원본 사용]

외부 데이터 가져오기

 


외부 데이터 원본으로

** 보고서 레이아웃 형식 설정 **
- 과정: 불러온 피벗 테이블 선택 - [디자인]-[보고서 레이아웃]

** 값 필드 설정 **
- 과정 : 값의 형태를 설정할 값들의 행의 셀을 선택 - 오른 마우스 - [값 필드 설정] 


 

[데이터 유효성 검사]

** 데이터 유효성 검사
-> [데이터]-[데이터 유효성 검사]

* SEARCH 함수
-> SEARCH("찾을 문자", "시작위치")
=SEARCH("@", E4)>=2

 

[부분합]

** 부분합
-> 가장 먼저 정렬부터 한다. : [데이터]-[정렬]
-> 부분 합을 구한다. : [데이터]-([개요])-[부분합]
-> 왼쪽-오른쪽 / 대문자-소문자 정렬 옵션 가능
-> 두번째 부분합은 [새로운 값으로 대치] 옵션 x
정렬
최종 결과 형태
-> 순서가 중요하다. : 정렬 -> 부분합 요약(합) -> 부분합 평균 => 새로 구한 것이 위로 올라감

 

[데이터 표]

** 데이터 표
-> 참조 값의 변황 따라 결과값이 어떻게 변화하는지 표로 정리
-> 과정: [결과 셀의 수식 복사(수식 입력줄에서)]-[데이터 표]-[행과 열의 분석할 값 원데이터 입력]
     -> [데이터]-[가상분석]-[데이터 표]

 

[시나리오]

** 시나리오
-> 과정:이름 정의-[데이터 탭]-[가상 분석]-[시나리오 관리자]-[시나리오 추가]-[시나리오 요약]
-> 잘못 만든 이름 수정 : [수식]-[이름관리자]
이름 정의
시나리오 예상 결과

 

[목표값 찾기]

** 목표값 찾기
-> 시나리오의 반대 : 최종 결과 값을 위해 데이터의 값이 어떻게 바뀌어야 하는지?
-> 과정: 최종 결과 값 셀 클릭 -[데이터]-[가상 분석]-[목표값 찾기] 

 

[데이터 통합]

** 데이터 통합
-> 두 표의 데이터를 하나의 표로 통합
-> 과정: 최종 결과 표 전체 선택(표 이름 제외)-[데이터]-[통합] 

 

[차트 문제]

** 차트 데이터 설정
-> 데이터 추가 : [차트 디자인]-[데이터 선택]-[추가]
-> 데이터 추가(간단) : 추가할 테이터를 레이블과 함께 Ctrl C 한 다음 차트에 Ctrl V 해도 됨 
* 복사 붙히는 방법은 하나의 표의 서로 다른 데이터 일때만 사용 가능


** 그래프 종류
-> 차트 그래프 종류변경(전체 변경) : [차트 디자인]-[차트 종류 변경]
-> 차트 그래프 종류변경(일부 변경) : 그래프 선택 - 오른 마우스 - [계열 차트 종류 변경] 
* 보조축 옵션 선택 : 특정 값의 차트를 보조축을 만들어서 한번에 표시 

** 기타 설정
-> 가로/세로 축 제목 : [차트 디자인]-[차트 요소 추가]-[축 제목]
-> 셀의 값과 연동하는 법: 차트의 축 제목 클릭 - [수식 입력줄] - 연동할 셀의 값 선택
-> 레이블 추가 : 추가할 점(그래프)를 누름 - 다시 클릭 - 오른 마우스 - [데이터 레이블 서식]
-> 도형 스타일 : [서식]-[도형 스타일]-원하는 효과 선택
-> 여러 서식 설정: 차트 내 요소를 더블클릭- [차트 영역 서식]

* 차트 영역: 차트 내 도형 바깥쪽 
* 그림 영역: 차트 내 도형 영역
* 여러 서식 설정은 차트 내 요소를 더블클릭 한다음 차트 영역 서식에서 변경한다. 
+ 학습법 : 정답을 먼저 보면서 메뉴의 위치에 익숙해 지도록 한다. 
그림영역과 차트영역

 

[매크로]

** 매크로
-> 과정 : 커서를 표 밖에 둔 채로-[개발 도구]-[매크로 기록]-[기록 중지]
     -> 서식 적용 매크로:표시 형식을 "사용자 지정 서식" 만들고 만들고 적용하고 실행
     -> 서식 해제 매크로:표시 형식을 "일반"으로 적용하고 실행
-> (주의) [개발도구]-[상대 참조로 기록] 버튼 눌려있으면 안됨!!! 

** 사용자 지정 서식
-> 개발도구 세팅(최초 1회): [파일]-[옵션]-[리본사용자 지정]-[개발도구 옵션 선택]
예) 양수일때 파랑색으로 기호 없이 소수점 이하 둘째 자리까지 표시,음수 일대 빨강색으로 기호 없이 소수점 이하 둘째 자리까지 표시, 0일때 "●" 기호만 표시 =>  [파랑]0.00;[빨강]0.00;"●"

** 매크로 실행 단추 생성
-> 기본 방법: [개발도구]-[삽입]-[단추(양식 컨드롤)]-Alt 누르고 원하는 위치 셀에 드레그
-> 도형을 사용: [삽입]-[도형]-셀에 생성-오른 마우스-[매크로 지정]
*기본 도형 > 사각형-빗면 많이 사용
매크로 실행 단추

 

[프로시저]

# 1번 3번 문제만 풀 것! (2번은 시간 낭비) => 교제 기본문제 1~4, 7~9번 문제 
** 프로시저 작성
-> 과정 : [개발도구]-[디자인모드]-[sheet편집]-[편집모드] 

-> sheet편집 : 폼 창이 열릴 수 있도록 <폼이름>.show 코드 입력

 

-> 편집모드: 열 [폼 경로]를 더블클릭 - [폼 화면]] 더블클릭 - [폼 이름(코드)] 창 열림 - [UserForm-Initialize] 모드에서 코드 작성
열기를 목표하는 폼

폼에 추가하고 자 하는 데이터 추가

-> 폼 종료 기능: [폼 화면] - [종료버튼] 더블클릭 - 종료 [click]에서 종료 코드 추가

-> change 이벤트 설정 : 프로시제에 셀의 위치나 값 등에 변화가 있을 때 실행할 코드

-> Active 이벤트 설정

-> 종료 시 메시지 박스 나타나도록 하는 법 : 종료 버튼에 코드 추가 (MsgBox)

 

[함수]

** 사용자 정의 함수 사용
-> 과정: [개발도구] - [Visual Basic] - 분석 sheet 경로 찾고 - [삽입] - [모듈] - 코드 작성

** 함수 기본 구조

  Public Function <함수이름>(변수1, 변수2)
    <if문 or Select문>
  End Function

** IF문 
  If ~Then 참
  else 거짓
  End if

** SELECT문
  Select Case 
    Case is
    Case Else
  End Select

1급 A형 2-5번 문제 코드
1급 B형 2-5번 문제
select 문 예시

 

[배열 수식]

** 배열 수식 (배열 함수)
1. 수식 기본 공식
-> AND = a * b
-> OR = a + b
예) 두개의 조건 : if( (조건1) * (조건2) ) : 두 조건 모두 만족

2. 배열 수식 종료
-> [Ctrl + shift + enter] 를 눌러 계산 식을 마무리 한다.

3. FREQUENCY함수
-> 방법 : 
-> 분포 도수를 구하는 함수 => 범위를 미리 잡고 나서 함수를 사용
(-> 다른 일반 배열 함수는 범위를 미리 잡지 X)

4.배열 수식 문법이 아닌데 배열 수식을 만들라는 문제
-> 계산 끝난 후  [Ctrl + shift + enter] 을 눌러 배열 수식으로 만든다. 

** 배열 함수
-> 특정 함수와 IF 함수로 조건에 해당하는 값들의 연산을 구할 수 있음
-> IF 함수없이도 조건 만들수 있음

-> IF 안쓰고 조건이 만족하는 값들의 합을 구하는 법:
  -> SUM( (조건)*(합을 구할 값들) ) : 조건이 True면 값이 1, 조건이 False면 값이 0인 것을 이용

예) =MAX((B3=$B$11:$B$29)*($D$11:$D$29="김승진")*($E$11:$E$29)) # IF 
예) =MAX(IF((B3=$B$11:$B$29)*($D$11:$D$29="김승진"),$E$11:$E$29)) # MAX, IF
** 배열함수 인덱스 매치 (난이도 높음)
-> index(표 범위, 열번호, 행번호) : 데이터 범위(표)에서 행, 열이 교차하는 곳에 값을 가져오는 함수
-> match(찾는 값, 칸 범위, 찾는방법) : 선택한 칸(열 or 행)에서 찾고 있는 값의 위치를 가져오는 함수
* 찾는 방법: 0(정확), 1(작은 것중 가장 가까운), -1(큰 것중 가장 가까운)

예) =INDEX($B$11:$H$29,MATCH(MAX((B3=$B$11:$B$29)*($G$11:$G$29)),(B3=$B$11:$B$29)*($G$11:$G$29),0),3)
=> 최대 임대료를 받는 임대인 이름 찾기 (index, match 혼합 이용)
최대 임대인