치트시트

Biscuit이 가장 자주 가져오는 수식들

동작하는 참고 자료입니다. 복사하고, 붙여넣고, 하던 일로 돌아가세요. 광고 없음, 팝업 없음, 이메일 달라는 챗봇도 없음.

Biscuit의 팁: 여기선 ctrl+F가 친구입니다. 15초 안에 뭐든 찾을 수 있게 배치해 뒀습니다.
섹션 1

합계와 카운트

조건에 맞는 행 세기

=COUNTIF(A:A, "Denver")

A열에서 "Denver"와 정확히 일치하는 셀의 개수를 반환합니다.

와일드카드로 세기

=COUNTIF(A:A, "*Denver*")

부분 일치에는 별표를 씁니다. Excel과 Google Sheets에서 동작합니다.

여러 조건으로 세기

=COUNTIFS(A:A, ">10", B:B, "active")

조건-범위 각 쌍은 AND입니다. OR 로직이 필요하면 COUNTIFS 두 개를 더하세요.

일치하는 행만 합산

=SUMIF(A:A, "Denver", B:B)

A열이 "Denver"인 경우 B열의 값을 합산합니다.

여러 조건으로 합산

=SUMIFS(B:B, A:A, "Denver", C:C, ">=100")

SUMIFS에서는 값 범위가 먼저, 그다음 조건 쌍입니다. 실수로 뒤집기 쉽습니다.

누적 합계

=SUM($B$2:B2)

아래로 드래그하세요. 앵커가 시작을 고정하고, 상대 참조인 끝은 내려가며 확장됩니다.

섹션 2

조회

기본 VLOOKUP

=VLOOKUP(A2, Products!A:C, 3, FALSE)

Products의 A열에서 A2를 찾아 3번째 열을 반환합니다. FALSE는 정확히 일치를 뜻합니다.

INDEX/MATCH (더 나음)

=INDEX(Products!C:C, MATCH(A2, Products!A:A, 0))

Biscuit은 이쪽을 선호합니다. 열 삽입에 강하고 왼쪽으로도 조회할 수 있습니다.

XLOOKUP (최신 Excel)

=XLOOKUP(A2, Products!A:A, Products!C:C)

현대적인 대체자. 더 깔끔하고 에러 처리도 좋습니다. 아직 Google Sheets는 미지원.

근사 일치 (정렬된 데이터)

=VLOOKUP(A2, Brackets!A:B, 2, TRUE)

TRUE는 A2 이하의 가장 큰 값을 찾습니다. 세율 구간에 유용합니다.

양방향 조회

=INDEX(Data!B:Z, MATCH(A2, Data!A:A, 0), MATCH(B2, Data!1:1, 0))

행과 열을 모두 동적으로 매칭합니다.

섹션 3

텍스트와 regex

공백 제거

=TRIM(A2)

앞뒤 공백과 중복된 내부 공백을 제거합니다.

제목 형식

=PROPER(A2)

"hello world"가 "Hello World"가 됩니다.

구분자로 연결

=TEXTJOIN(", ", TRUE, A2:A10)

TRUE는 빈 값을 무시합니다.

이메일에서 도메인 추출

=MID(A2, FIND("@", A2)+1, LEN(A2))

FIND로 @ 위치를 찾고, MID로 그 뒤를 모두 가져옵니다.

Regex extract (Google Sheets)

=REGEXEXTRACT(A2, "[a-zA-Z0-9._+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]+")

어지러운 문자열에서 첫 번째 이메일 주소를 뽑아냅니다.

Regex replace

=REGEXREPLACE(A2, "\s+", " ")

모든 공백을 하나의 공백으로 축약합니다.

섹션 4

날짜

오늘 날짜

=TODAY()

시트가 재계산될 때마다 갱신됩니다.

두 날짜 사이의 일수

=B2-A2

날짜는 내부적으로 숫자입니다. 뺄셈이 그대로 됩니다.

날짜에서 월 이름

=TEXT(A2, "mmmm")

"January", "February" 등을 반환합니다.

이번 달의 첫날

=EOMONTH(TODAY(), -1)+1

EOMONTH는 "월말"입니다. 한 달 뒤로 가서 하루 더합니다.

ISO 주의 시작 (월요일)

=A2-WEEKDAY(A2, 3)

WEEKDAY 타입 3은 월요일에 0을 반환하므로, 빼면 월요일에 착지합니다.

날짜 사이의 영업일

=NETWORKDAYS(A2, B2)

토요일, 일요일, 옵션으로 휴일을 제외합니다.

섹션 5

배열 (Google Sheets)

열 전체에 수식 적용

=ARRAYFORMULA(A2:A*2)

수천 행을 드래그할 필요가 없습니다.

SQL 스타일 문법의 QUERY

=QUERY(Data!A:D, "SELECT A, SUM(C) WHERE B='active' GROUP BY A", 1)

SQL을 쓰는 척하세요. 진짜로 동작합니다.

FILTER

=FILTER(A:B, B:B>100, C:C="active")

일치하는 행을 반환합니다. 지저분한 배열 수식 트릭이 필요 없습니다.

UNIQUE

=UNIQUE(A:A)

A열의 고유한 값을 모두 반환합니다. 알파벳이 아니라 발견된 순서입니다.

SORT

=SORT(A2:C, 2, FALSE)

두 번째 열 기준 내림차순 정렬.

섹션 6

VBA 스니펫

활성 시트 빼고 모두 숨기기

Sub HideOthers()
  Dim s As Worksheet
  For Each s In ThisWorkbook.Worksheets
    If s.Name <> ActiveSheet.Name Then s.Visible = xlSheetHidden
  Next s
End Sub

워크북을 지금 작업 중인 시트로만 빠르게 축소합니다.

사용된 범위의 빈 행 제거

Sub KillEmpties()
  Dim r As Long
  For r = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
    If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
  Next r
End Sub

뒤에서부터 진행해서 삭제하는 동안 행 번호가 밀리지 않습니다.

폴더 안의 모든 파일 열기

Sub LoopFolder()
  Dim f As String
  f = Dir("C:\path\to\folder\*.xlsx")
  Do While f <> ""
    Workbooks.Open "C:\path\to\folder\" & f
    f = Dir()
  Loop
End Sub

고전적인 Dir 루프. 월간 보고서가 들어 있는 폴더에 딱입니다.

원하는 걸 못 찾았나요?

플레이그라운드에서 설명해 보세요. Biscuit은 꽤 빨리 배웁니다.

한국어로 필요한 걸 말해 주세요. 수식을 가져오겠습니다.
플레이그라운드 써보기