[Excel] FIFA 월드컵 데이터 분석

2026. 1. 12. 18:48Excel

FIFA 월드컵 데이터 분석 (Excel 고급 실습)

📂 0. 사전 준비 (데이터 불러오기)

  1. 데이터 가져오기: 새 엑셀 파일을 열고 WorldCupMatches.csv, WorldCupPlayers.csv, WorldCups.csv 파일을 각각 별도의 시트로 불러온다.
  2. 시트 이름 변경: 각 시트의 이름을 다음과 같이 변경한다.
    • WorldCupMatches → Matches
    • WorldCupPlayers → Players
    • WorldCups → Tournaments
  3. 저장: 파일명을 FIFA_World_Cup_Analysis.xlsx로 저장한다.


🛠️ 1. Matches 시트: 날짜 변환 및 파생 변수 생성

날짜 형식이 텍스트(예: 13 Jul 1930 - 15:00)로 되어 있어 엑셀이 인식하지 못하는 문제를 해결한다.

1-1. Datetime 변환 (텍스트 → 날짜/시간)

  • 기존 Datetime 열 옆에 새로운 열을 추가한다 (제목: Date_Converted).
  • 방법: 데이터 탭의 '텍스트 나누기'를 사용하거나, 수식을 사용하여 변환한다.
  • 서식 적용: 변환된 열을 선택하고 Ctrl + 1 > 표시 형식 > 사용자 지정 > yyyy-mm-dd hh:mm 으로 설정한다.

1-2. 날짜 파생 변수 만들기

변환한 Date_Converted 열을 기준으로 4개의 열을 추가하고 아래 수식을 입력한다.

  • Year: =YEAR(새로운날짜셀)
  • Month: =MONTH(새로운날짜셀)
  • Day: =DAY(새로운날짜셀)
  • Weekday: =WEEKDAY(새로운날짜셀) (1=일요일, 2=월요일...)

1-3. 경기 간 경과일 (Days Since Last Match)

  • 데이터를 날짜순으로 정렬한 뒤 수행한다.
  • 수식: =(현재행 날짜) - (바로 윗행 날짜)
  • 첫 번째 행은 빈칸으로 둔다.

🔗 2. Matches 시트: 대회 정보 연결 (XLOOKUP)

Matches 시트의 연도(Year) 정보를 이용해 Tournaments 시트의 상세 정보를 가져온다.

  • 목표: Matches 시트에 '개최국(Country)' 또는 '우승국(Winner)' 정보를 붙인다.
  • 사용 함수: VLOOKUP을 사용한다.
  • WorldCups 시트의 A열에서 A2 셀 값과 정확히 일치하는 데이터를 찾아, 해당 행의 B열 값을 반환
  • 수식 예시:
  • 함수
     
    =VLOOKUP(A2, WorldCups!A:B, 2, FALSE)

🕵️ 3. Players 시트: 경기 정보 매칭 (역방향 조회)

Players 시트에는 경기 날짜나 단계(Stage) 정보가 없다. MatchID를 이용해 Matches 시트에서 정보를 가져온다.

3-1. MatchID로 날짜 및 Stage 가져오기

Matches 시트에서 MatchID가 데이터의 오른쪽에 위치할 경우 VLOOKUP을 쓰기 어렵다.

  • 사용 함수: XLOOKUP 또는 INDEX + MATCH를 사용한다.
  • 수식 예시 (Datetime 가져오기):
  • 함수
    =XLOOKUP(Players!MatchID셀, Matches!MatchID열, Matches!Datetime열)
    

    WorldCupMatches 시트의 R열에서 B2 값을 찾아 해당 행의 B열 값을 반환하며, 찾는 값이 없으면 빈 문자를 표시

  • 주의: 가져온 날짜가 45321.5 같은 숫자로 보이면 셀 서식을 날짜로 변경한다.

3-2. 경기 결과(승/패) 판별 (심화)

선수의 소속팀(Team Initials 등)이 해당 경기에서 이겼는지 졌는지 판단한다.

  • Matches 시트의 Home Team Name, Away Team Name, Home Goals, Away Goals를 참조해야 한다.
  • IF 함수와 AND/OR 조건을 복합적으로 사용해야 하는 고난도 작업이다.

📊 4. 요약 테이블 (Summary): 조건부 집계

별도의 시트(Summary) 또는 빈 공간에 다음 통계를 작성한다.

4-1. Stage별 경기 수 (COUNTIF)

  • Matches 시트의 Stage 열(예: Group Stage, Final 등)을 기준으로 개수를 센다.
  • 함수
    =COUNTIF(Matches!Stage열, "Final")
    

4-2. 다득점 경기 수 (COUNTIFS)

  • 양 팀 합계 득점이 3점을 초과하는 경기의 수를 센다.
  • : Matches 시트에 Total Goals (=Home Goals + Away Goals) 열을 먼저 만드는 것이 가장 쉽다.
  • 함수
     
    =COUNTIF(Matches!Total_Goals열, ">3")
    

5. Tournaments 시트: 대회 통계 지표

Tournaments 시트에 요약 통계 열을 추가한다.

5-1. 대회별 경기당 평균 득점 (AVERAGEIFS)

  • Matches 시트의 데이터를 Year 기준으로 평균을 낸다.
  • 함수
    =AVERAGEIFS(Matches!Total_Goals열, Matches!Year열, Tournaments!Year셀)
    

5-2. 결승전 최다 득점 찾기 (MAX + 조회)

  • Stage가 "Final"인 경기 중 가장 득점이 많았던 경기를 찾는다.
  • MAXIFS로 최대 점수를 찾고, INDEX/MATCH로 해당 연도를 추출한다.

5-3. 관중 효율 (Attendance Efficiency)

  • 관중 수(Attendance) / 경기 수(MatchesPlayed) 를 계산한다.
  • 주의: Attendance 열에 쉼표(,)나 점(.)이 포함된 텍스트 형식일 경우 계산되지 않는다.
  • 해결 수식:(쉼표를 제거하고 숫자로 변환 후 나눗셈을 수행한다)
  • 함수
     
    =VALUE(SUBSTITUTE(Attendance셀, ",", "")) / MatchesPlayed셀