📌 배열수식 특징
- 결과값을 반영할 때 Ctrl+Shift+Enter로 입력
- 조건이 두 개일 경우 AND 조건은 *, OR 조건은 +로 작성
- 결과값은 {=배열수식} 형태로 앞뒤에 중괄호가 붙는다.
- 길이가 같은 열을 계산할 수 있다.
- 조건은 범위=찾을값 형태로 작성
| 구분 | 조건 | 배열수식 | 설명 |
|---|---|---|---|
| SUM 이용 합계 | 조건 1개 | =SUM((조건1)*범위) | 조건1을 만족하는 범위의 합계 |
| SUM 이용 합계 | 조건 2개 | =SUM((조건1)*(조건2)*범위) | 조건1과 조건2를 동시에 만족하는 범위의 합계 |
| SUM+IF 합계 | 조건 1개 | =SUM(IF(조건1,범위)) | 조건1을 만족하는 범위의 합계 |
| SUM+IF 합계 | 조건 2개 | =SUM(IF((조건1)*(조건2),범위)) | 조건1과 조건2를 동시에 만족하는 범위의 합계 |
| SUM 이용 개수 | 조건 1개 | =SUM((조건1)*1) | 조건1을 만족하는 개수 |
| SUM 이용 개수 | 조건 2개 | =SUM((조건1)*(조건2)) | 조건1과 조건2 모두 만족하는 개수 |
| SUM+IF 개수 | 조건 1개 | =SUM(IF(조건1,1)) | 조건1을 만족하는 개수 |
| SUM+IF 개수 | 조건 2개 | =SUM(IF((조건1)*(조건2),1)) | 조건1과 조건2 모두 만족하는 개수 |
📌 배열함수 외우는 핵심 패턴
조건 → 범위 → 함수적용 순서
- 조건 먼저: (조건)*범위
- IF 쓰면: IF(조건, 범위)
배열수식에서 조건의 경우 상대참조하지않음
frequency(범위1,범위2)
FREQUENCY(data_array, bins_array)
범위1에서 범위2에 해당하는 빈도수를 구하는 것
data_array → 빈도수를 셀 데이터 집합
bins_array → 구간 경계값(기준값) 목록
bins_array의 각 값은 이 구간의 최대값을 의미
bins_array 경계값 리스트(각 값은 이 값까지라는 의미)
배열수식 표2, 표3, 표7 다시풀기
작동 원리
bins_array의 각 값은 "이 구간의 최대값"을 의미함
data_array의 각 데이터가 어느 구간에 속하는지 계산
각 구간에 속하는 데이터 개수를 셈
FREQUENCY 자체에 조건 기능이 없어서,
IF(조건, 데이터) 형태로 첫 번째 인수에 조건을 걸어줌
→ 특정 조건에 해당하는 데이터만 집계 가능
마지막 구간(마지막 셀) 에는 bins_array의 최대값보다 큰 값들의 개수가 들어감
개발도구 - visual basic - 삽입 - 모듈
if - elseif - else - endif
else if 안됨.
elseif여야함(띄어쓰기 주의)
꼭 값들은 "" 해주기!
Select Case 표현식
Case 값1
' 값1일 때 실행할 코드
Case 값2
' 값2일 때 실행할 코드
Case 값3, 값4
' 값3 또는 값4일 때 실행할 코드
Case Is > 숫자
' 표현식이 숫자보다 클 때 실행
Case Else
' 위 조건에 모두 해당하지 않을 때 실행
End Select
# 예시1
Select Case 점수
Case Is >= 90
MsgBox "A등급"
Case Is >= 80
MsgBox "B등급"
Case Is >= 70
MsgBox "C등급"
Case Else
MsgBox "F등급"
End Select
# 예시2
Select Case score
Case 90 ' 점수가 90이면 실행
MsgBox "정확히 90점"
Case Is >= 80 ' 점수가 80 이상이면 실행
MsgBox "80점 이상"
Case Else
MsgBox "그 외"
End Select
then을 쓰지 않는다!
else만 쓰면 안됨.
else case도 아님!
case else인거 기억하기
For 변수 = 시작값 To 끝값 Step 증가값
반복해서 할 작업
Next 변수
For i = 1 To 5
Print i # 1, 2, 3, 4, 5
Next i
Public Function kp점수차트(점수)
If 점수 >= 200 Then
For a = 1 To 점수 / 200
kp점수차트 = "♣" & kp점수차트
Next a
Else
kp점수차트 = "재시험"
End If
End Function
시작값부터 끝값까지 변수값이 변하면서 반복
Step은 몇씩 증가할지 (생략하면 1)
for문 끝내는건 next로!
For Each 변수 In 모음
반복해서 할 작업
Next 변수
For Each cell In Range("A1:A3")
cell.Value = "안녕"
Next cell
For … Next → 숫자 범위를 반복
For Each … Next → 모음(집합)을 반복
Next 뒤에는 변수 이름을 쓰는 게 안전
반복 중 멈추려면 Exit For
삽입 - 표 - 피벗테이블 - 외부 데이터 원본에서
외부 데이터 원본으로 ~의 데이터를 사용하시오
원본!삽입!표!
데이터 - 외부데이터가져오기 - 레거시마법사 - 마이크로소프트쿼리...
외부 데이터 가져오기 기능을 이용하여 ~..