매크로 5

엑셀 VBA로 자료 처리 - 신청자, 회원목록 비교 3

아직 끝나지 않았습니다. ^^; 한동안 연락이 없어 다 끝난 줄 알았더니 갑작스럽게 연락이 왔습니다. 나머지 작업이 있다고. 한동안 연락이 없어 수작업으로 마무리 작업을 하나 싶었는데, 그동안 수작업을 하긴 했지만 아직 마무리된 것은 아니었다고 합니다. 두가지 작업을 요청했는데, 지급된 내역 중 중복된 항목을 걸러내 달라는 것과 지급 내역 중 전화번호가 없는 항목을 찾아 전화번호를 나타내 달라는 것이었습니다. 중복된 항목을 찾는 방법은 어렵지 않습니다. COUNTIF 함수로 중복값을 찾는 수식을 작성한 후 고급 필터로 해당하는 레코드를 뽑아 별도 공간에 표시하면 됩니다. 이때 고려해야할 부분이 있는데, 이떤 값을 기준으로 찾는가 입니다. 이름은 중복신청된 경우가 있고, 또 동명이인도 있습니다. 신청한 계..

엑셀 2020.07.09

어디에서나 사용자 정의 함수를 사용할 수 있도록 하기

내게 필요한 동작을 하는 함수를 만들어 쓸 수 있다는건 신나는 일입니다. 이렇게 만든 사용자 정의 함수를 현재 파일에서 사용할 뿐만아니라 다른 엑셀 파일에서도 쉽게 사용하는 방법을 소개하겠습니다. 실습 파일 다운로드 실습 파일에는 평균성적이라는 이름의 사용자 정의 함수가 있습니다. 현재 파일에서 평균성적 함수를 사용하려면 보통 함수 쓰듯이 셀에 이퀄(=)을 입력한 뒤 함수이름인 '평균성적('을 입력하고, 인수를 지정하고 키를 누르면 됩니다. 그냥 보통 함수 쓰는 법과 같죠. 다른 엑셀 파일에서 이 사용자 정의 함수를 실행하려면 복잡해 집니다. 두가지 방법이 있습니다. 첫번째는 사용자 정의 함수가 들어 있는 파일이 열려 있을 때 파일 이름까지 포함해 함수를 불러 사용하는 방법입니다. 실습 파일을 미리 열어..

엑셀 2020.05.10

사용자 정의 함수 사용하기

어느 분이 질문을 하셔서 사용자 정의 함수를 만들었습니다. 사용자 정의 함수 사용하는 방법을 소개하겠습니다. 완성 파일 다운로드 만든 사용자 정의 함수는 최근 3개 시험 점수 평균을 구하는 역할을 합니다. [T5] 셀에서 김치국 학생 국어 과목의 평균 성적을 구합니다. 3월 15일과 3월 5일엔 응시하지 않아 점수가 없습니다. 2월 15일, 2월 5일, 1월 15일이 최근 3번 응시한 성적입니다. 그래서 [E5], [H5], [K5] 셀 점수 합을 구해 3으로 나눈 값을 [T5] 셀에 나타내려고 하는 겁니다. 다른 과목도 마찬가지입니다. 키를 누르면 Visual Basic for Appications Editor(VBE)가 실행됩니다. 평균성적이란 이름으로 함수를 만들었습니다. 인수는 과목명과 계산범위를..

엑셀 2020.05.09

엑셀 VBA로 자료 처리 - 신청자, 회원목록 비교 2

일을 맡기로 하고 집으로 돌아오는 길에 어쩐지 쎄하다 싶었더니 작업량이 만만치 않았습니다. 코딩으로 처리하는 것은 당연히 그렇다고 쳐도 잘못된 형식으로 등록된 데이터를 수정하는 작업에 아주 많이 시간이 소요되고 있습니다. 아침에 일어나자마자 시작해서 밤늦게까지 작업해야 겨우 할 수 있는 수준이죠. 첫날에 코딩 구현도 하고 적용도 해야 해서 12시를 넘어 작업하지 않을 수 없었습니다. 이건 뭐 예상한 일이니까 그렇지만, 문제는 처리한 작업을 넘긴 후에도 계속 추가 작업을 해야 한다는 것이었습니다. 특히 처리한 일을 요구사항이 달라져서 다시 해야할 때는 아주 짜증스럽습니다. 겨우 1차 처리 기한에 맞춰 결과물을 넘기고 다음주까지 한숨 돌리나 했더니 중복자 처리와 추가 처리자 자료가 넘어 와 계속 작업을 하지..

엑셀 2020.05.02

엑셀 VBA로 자료 처리 - 신청자, 회원목록 비교

며칠전 지인이 일을 좀 도와 달라고 연락이 왔습니다. 신청자 파일과 회원 목록 파일을 비교해 정상 회원인지 확인하고, 잘못된 신청자를 제외한 나머지를 신청확정 파일로 정리하는 작업이었습니다. 신청자 파일, 회원 목록 파일, 신청확정 파일 모두 엑셀 파일이라 엑셀 VBA를 이용하면 딱 좋은 업무라고 생각했습니다. 총 데이터 건수는 100,000건 정도인데, 각 지역별로 나눈 8개 파일이고, 파일 중 많은 데이터는 35,000건 정도였습니다. 모두 모아 한꺼번에 처리할까 했는데, 어차피 나눠져 있어 그냥 나눠진 파일 단위로 처리하기로 했습니다. 그런데 파일을 나누지 않고 작업했더라면 정한 시간 내에 처리 못할 뻔 했었습니다. 방문해 처리 내용을 듣고, 데이터를 잠깐 봤는데, 신청자 파일에 입력 형태가 엉망이..

엑셀 2020.04.28