A. 그냥 엑셀 대충 돌리는 거죠
라고 했지만 좀 더 자세하게 써보면
또 글감이 될 거 같아서 한번 써봅니다
그리고 또 모르죠
혹시 누가 이 글을 읽고
어떤 충고나 영감을 던져줄 수도 있고?
IF IFERROR DATE SEARCH(나 FIND) LEFT MID RIGHT VLOOKUP SUMIF(S) COUNTIF(S) LEN SUBSTITUTE OR AND
대충 이 정도 엑셀 함수 쓸 줄 알면
시간만 갈아넣으면 가능
?
저도 엑셀 개못해요~
제 방법보다 더 쉬운 방법이 있을 수도 있고
알고리즘에 따라 방법이 다르겠지만
저는 이런 방식으로 함
네 저 엑셀 개못해서 무식하게 하는 거 맞음
1. 박스스코어를 다 합친다
이번 3주차까지 합치면 11만 줄
1시즌 다 합치면
경험적으로 24만 줄 정도 나옵니다
이제 이걸 엑셀로 열심히 갖고 놀아주면 됩니다
2. 날짜별 라인업 구하기
위에 저렇게 생긴 부분을 통해서
주전 라인업을 구해올 수 있습니다
방법은 많겠지만
날짜 이름 팀 포지션 주전 여부
이 정도 들고 오면 돼요~
예를 들면 날짜는
Date of game: April 10, 2017
이런 식이니까 Date of가 있는 줄에서
띄어쓰기와 콤마 등을 통해 날짜를 찾고
팀은 라인업 윗부분에 있고
이름 포지션 같은 건
이름 부분 빼고는 띄어쓰기 개수가 정해져 있으니
띄어쓰기가 총 몇 개인지를 len과 substitute로 따져서
띄어쓰기 몇 개 한 거까지가 이름인지 따지고
이름 다음 부분이 포지션
이런 식으로 구하고
주전 여부는 백업은 움푹 들어가있어서
그걸로 구별하면 쉬움
?
3. 이닝/교체 문구 들고 오기
다시 11만 줄짜리 파일을 복붙해와서
결국 수비 이닝에 중요한 건
이닝 그 자체
그리고 대타/대주자/대수비로 인해
선수 교체가 일어난 것
그러므로 저런 문구들만 빼오면
어떻게 비틀어가면서 구할 수 있습니다
?
search나 find를 이용하면 쉬워요
4. 교체 선수 조사
그럼 이런 식으로
누가 서로 교체됐는지 확인하는 게 필수죠
의사협회 회장 이필수 아님
대충 사진을 설명하자면
박정훈 타석에 대타 송재훈이 나왔고
다음 수비에서 맥북이 3루 대수비를 나왔습니다
비슷하게 타코야끼가 노윤서의 대주자로 나오고
이젠이 포수 대수비를 나왔네요
교체당한 선수가 주전이면 무방하지만
저렇게 대타나 대수비가 끼어있을 수도 있으므로
포지션 뒤에 추가적인 과정을 넣어줘서
최종 포지션을 기록해줍니다
이거도 문구 보면
대타는 hit for / 대주자는 ran for /
대수비는 came in for에 뒤에 at third나 at left
이런 식으로 특징적이라 search 같은 거 쓰면 쉬움
포지션 불러오는 건 당연히 vlookup이고요
5. 교체 선수들 번호 부여
그리고 제 구상대로 하려면 이 과정도 필요한데
제가 생각한 건
얼마나 그 포지션에 교체가 일어났는지를 집계해서
그 이닝에 어떤 선수가 들어가야 하는지 정하는 거죠
예전에는 무식하게 vlookup 남발해서 하기도 했는데
계산하는 데 시간 엄청 걸려서 이게 훨씬 나은 듯
추가적으로 설명하면
일단 그 경기 주전들은 1이라고 하고
그러다 교체가 되면은 2, 3, ... 순으로 늘어납니다
지금은 처음 박정훈이 1번
3루수 자리에 대타 송재훈이 들어왔으니 2번
대수비로 들어온 맥북이 3번이 되겠네요
countifs로 쉽게 가능합니다
31차 때 처음 수비 이닝 구해볼 때 자료인데
지금 보면 수식 꼬라지가...
물론 지금은 훨씬 단순하니 괜찮습니다
외야수만 있는 이유도
한번에 돌리니까 계산 못하고 꺼져서
그때는 내야 외야 나눠서 돌림
?
지금은 무난하게 돌아갑니다
6. 번호 구하기
그 다음은 저런 식으로 숫자를 매기죠
참고로 왼쪽의 이닝 인정은
8회초
A → B 대수비
C → D 대수비
8회말 이런 식이면
C → D 대수비까지 적용된 줄에 이닝을 반영하려고
임의로 넣었습니다
위 2줄은 그냥 이닝 불러오고 교체 불러오는 데만
활용이 되는 거죠
이렇게 하면 KT 대타로 들어왔던 송재훈과
SSG 대주자로 들어왔던 타코야끼는
수비로 기록되지 않게 되겠네요 (둘 다 2번임)
얘도 countifs 쓰면 됨
7. 선수 불러오기
그러면 며칠 어느 팀의 몇 회에
누가 어디서 수비를 봤는지 알 수 있습니다
?
vlookup하고 if 정도만으로 쉽게 가능
대충 하려면 1회당 1이닝씩 박으면 끝인데
확실하게 하려면 추가적인 작업이 필요해요
왜냐면 끝내기를 맞거나 할 때는
3아웃을 다 잡고 끝나지 않고
심지어는 노아웃에서 끝나는 경우도 있을 수 있기 때문에
어느 정도 고려를 해주어야 합니다
8. 날짜별 팀 투구 이닝 구하기
그래서 팀 투구 이닝을 구해줍니다
예를 들면 4/11 롯데는 8.1이닝이거든요?
즉 9회말에 등판해서 1아웃인 상태로 경기가 끝났다는 뜻입니다
복잡하긴 하지만 김세민 삼진 말고는
아웃카운트가 올라가지 못하고
4실점을 하며 역전패를 당했네요
이렇게 되면 4/11 롯데 수비진에게는
8회까지는 1이닝씩 부여하다가
9이닝에는 0.1이닝만 들어가도록 조정해주어야 하고
이를 위해 번거로운 작업을 거칩니다
저는 그냥 투수 이닝당 투구수 이런 거 구할 때
투수 로그 통으로 구하기 때문에
그걸 들고 와서 쉽게 구했어요
?
9. 이닝 배정
사진을 보면 롯데 9회의 경우
맨 오른쪽에 0.1이닝만 들어간 것을 볼 수 있습니다~
vlookup이나 sumifs 쓰면 해결
10. 이닝/경기 결과 내기
그러면 countifs와 sumifs로
출장경기와 수비이닝을 합산할 수 있겠네요
사실 구조상 이닝 중간에 수비수가 바뀌면 좀 곤란한데
일단 이번에 할 때는 그런 사례가 없었음
?
심플?
첫댓글 아니 이걸 어떻게 해ㅛ
막상 해보면 쉬워요
@ϵ(•ɞ•)϶A. Pujols∈5 팩트 : 박스스코어 전체파일은 놀랍게도 txt임
@三⭐ Jihyo&7 txt가 어때서요
@ϵ(•ɞ•)϶A. Pujols∈5 아니저것도 txt길래
이걸 이미 익숙하게 하시는 졸스신이 매년 심플하게 구해주시면 될듯
선댓안감상
사실상 종신 선언 ㄷㄷ