Claude Projects 강의 준비: VLOOKUP 과제와 정답 ZIP 분리하기
Excel 과제를 준비하며 AI에 입력표와 정답표를 한꺼번에 주면, 학생용 문제에도 정답이 섞일 수 있습니다. 여기서는 노트북·키보드 두 행으로 VLOOKUP 과제를 만들고, Project에 넣을 자료·학생에게 보낼 자료·강사가 보관할 자료를 파일 단위로 나눕니다. 성공 기준은 긴 설명이 아니라 학생 배포 ZIP에 정답 파일이 없고, 강사용 기준에서 3,700과 의도된 #N/A를 구별하는 것입니다.
준비할 것은 합성 CSV와 분리된 세 폴더
첨부의 전체 ZIP은 강사용입니다. 정답을 포함하므로 학생에게 그대로 보내면 안 됩니다. 안쪽의 student-only.zip만 학생 배포용입니다. Claude Projects나 Microsoft Excel을 실제로 실행한 후기는 아닙니다. 아래 절차에서 참고한 설정 안내의 링크와 확인일은 글 끝에 남겼습니다. 첨부 검증 코드는 합성 CSV의 산술과 배포 파일 구성을 Python에서 확인합니다.
| 위치 | 들어 있는 것 | 전달 대상 |
|---|---|---|
| student/ | source.csv, task.md, observation.csv | 학생 |
| project/ | lesson-brief.md, instructions.md | 강의 준비 Project |
| instructor/ | answer-key.md | 강사 로컬 보관 |
source.csv는 다음 두 행입니다. 가격과 수량은 실제 판매 자료가 아닌 가상 입력입니다. 상품 이름에 설명을 덧붙이거나 단가를 실제 시세로 고치지 않습니다.
상품,수량,단가
노트북,10,250
키보드,15,80

Project 지식과 지시문을 구분하기
Project 지식에 올린 자료는 그 Project 안의 대화들에서 사용됩니다. How can I create and manage projects? | Claude Help Center 그래서 정답을 학생에게 보여 주지 말라는 문장만 적는 것으로 충분하다고 가정하지 않습니다. 이 실습에서는 정답표를 처음부터 지식에 올리지 않습니다.
-
사용할 수 있는 Claude 계정의 Projects에서 강의 준비용 Project를 만들고 접근 범위를 확인합니다. 실제 회사 자료 대신 합성 CSV만 선택합니다.
-
지식에는
student/source.csv와project/lesson-brief.md를 올립니다. 전체 ZIP, instructor 폴더, 강사용 검산 결과는 선택하지 않습니다. -
project/instructions.md의 내용을 Project instructions에 저장합니다. 학생용 과제만 요청한 뒤 출력문에 정답 수치나 가짜 실행 경험이 들어갔는지 읽습니다.
프로젝트 이름이나 설명만 바꾸고 지시문이 저장되었다고 간주하지 않습니다. 실제 계정의 화면에서 지시문 내용과 업로드 목록을 확인해야 합니다. 실제 계정에서 필요한 기능이 보이지 않으면 준비한 로컬 과제부터 검토하세요.
학생이 수행할 셀 작업은 고정하기
학생용 과제는 CSV를 A1:C3에 가져오고 D1=금액, E1=조회상품, F1=조회단가를 적도록 합니다. E2에는 노트북, E3에는 키보드, E4에는 없는상품을 입력합니다. 입력표와 과제의 셀 주소가 같아야 강사용 검산도 의미가 있습니다.
D2: =B2*C2
D5: =SUM(D2:D3)
F2: =VLOOKUP(E2,$A$2:$C$3,3,FALSE)
D2는 D3으로, F2는 F4까지 채웁니다. FALSE는 정확한 일치를 요구하는 VLOOKUP 옵션입니다. VLOOKUP function | Microsoft Support 원본 범위 $A$2:$C$3는 고정되고 조회값 E2의 행 번호는 E3·E4로 바뀝니다. 학생에게는 값을 미리 채운 결과 파일 대신 빈 관찰 기록을 줍니다. 환경에 따라 수식 인수 구분 기호가 다르면 해당 Excel 설정에 맞춰 입력하되, 조회 조건 자체는 유지합니다.

강사가 보관할 기대값과 오류 기준
가상 입력의 금액은 10×250=2,500, 15×80=1,200이고 합계는 3,700입니다. 조회 결과는 노트북 250, 키보드 80입니다. 없는상품은 원본 첫 열에 없으므로 F4의 #N/A를 의도된 결과로 구분합니다. 이를 0이나 빈칸으로 숨기면 없는 값을 찾았다는 사실이 사라집니다.
| 셀 | 기대값 | 해석 |
|---|---|---|
| D2 | 2500 | 노트북 수량×단가 |
| D3 | 1200 | 키보드 수량×단가 |
| D5 | 3700 | 두 금액 합계 |
| F2 | 250 | 정확히 같은 노트북 조회 |
| F3 | 80 | 정확히 같은 키보드 조회 |
| F4 | #N/A | 원본에 없는 상품 조회 |
이 표는 이 글을 읽는 강사의 기준표입니다. 학생용 task.md에는 계산 결과 표를 넣지 않았습니다. 학생이 실제 실행한 값은 observation.csv의 빈칸에 직접 기록합니다. 기대값을 관찰값 칸에 복사하고 실행했다고 쓰면 안 됩니다.
배포 ZIP 검사가 확인하는 것
다운로드를 빈 폴더에 푼 뒤 python3 verify_lesson.py를 실행하면 D2·D3·D5·F2·F3·F4의 기대값을 출력합니다. 프로그램은 student-only.zip의 항목이 source.csv·task.md·observation.csv 세 개뿐인지, 각 바이트가 student 폴더와 같은지 확인합니다. 파일을 추가하거나 바꾸면 오류로 중단합니다.
검사 범위는 제한적입니다. 고정된 배포본과 달라졌다는 사실은 찾지만, 임의의 한국어 문장 속 정답 유출을 모두 알아내는 검사기는 아닙니다. 새로운 AI 과제를 작성했다면 강사가 내용을 읽고 학생용 파일로 채택한 뒤, 배포 패키지의 기준도 다시 만들어야 합니다. 기존 검사를 통과시키려고 정답 파일의 이름만 바꾸어 넣어서는 안 됩니다.

실패하면 원본과 과제를 각각 복구하기
F2나 F3에서 #N/A가 나오면 정상 조회 실패입니다. 상품명의 앞뒤 공백, 조회 범위, FALSE, $가 유지됐는지 확인합니다. F4의 의도된 오류와 같은 메시지여도 원인이 다릅니다. F2에 숫자 250을 직접 써서 결과만 맞추지 말고 수식과 원본 문자열을 복구합니다.
학생 ZIP에 answer-key.md를 넣은 사본은 파일 목록 검사에서 거부되도록 시험했습니다. task.md 안에 정답 문장을 덧붙인 사본도 고정 파일과 바이트가 달라 거부됩니다. 복구는 깨끗한 student 세 파일로 배포본을 다시 만드는 것입니다. 이미 공유된 자료의 열람 여부나 사본 삭제까지 로컬 검증 코드가 해결하지는 않습니다.

수업에서 남길 기록과 이 자료의 한계
실습 후에는 학생이 관찰한 값·사용 환경·틀린 수식·복구 위치를 남깁니다. 강사는 정확한 조회, 고정 범위, 없는 값 처리라는 세 목표를 기준으로 검토합니다. 문장이 유려하다는 이유로 수식 이해까지 확인됐다고 판정하지 않습니다.
첨부에는 XLSX나 실행 매크로가 없습니다. Python의 문자열 사전 조회는 위 기대값을 독립적으로 계산하는 참고 구현이며 Excel의 VLOOKUP 엔진을 실행한 결과가 아닙니다. Claude에 실제 요청을 보내거나 학생의 학습 효과를 측정하지도 않았습니다. 실제 수업에서는 Excel 사본에서 수식을 실행하고 빈 기록을 채운 뒤 활용하세요.

공식 출처와 확인일
How can I create and manage projects? | Claude Help Center
VLOOKUP function | Microsoft Support
출처 원문 수집일: S1 2026-09-24; S2 2026-09-24.