[엑셀] 특정 날짜의 주차 계산, 주차별 시작날짜/마지막날짜 계산
날짜 계산은 엄청 귀찮으므로, 자주 안 쓰는건 그냥 적어두자.다른 블로그 찾다가 발견해서 적어놨던건데, 어디서 봤는지는 까먹었다. 주차를 먼저 계산해본다. 월요일부터 주차를 계산하는게 일반적이니 마지막에 2를 적는다.=WEEKNUM(DATE(연,월,일),2) 거꾸로 주차를 기준으로 해당주차에 대한 시작 날짜(월요일)과 마지막날짜(일요일)를 알고 싶으면, 시작 날짜는=MAX(DATE(연,1,1),DATE(연,1,1)-WEEKDAY(DATE(연,1,1),2)+(주차-1)*7+1) 마지막 날짜는=MIN(DATE(연+1,1,0),DATE(연,1,1)-WEEKDAY(DATE(연,1,1),2)+주차*7) 깊게 생각하면 머리 아프다.
2021. 11. 16.
[엑셀] 행추가시 이름관리자/이름정의 반영하기(동적인 이름정의)
이름정의 기능을 사용하고 있다면, 이미 초보자의 영역은 넘었다.이미 알겠지만, 엑셀은 피벗테이블을 포함한 표형식의 DB형식의 모습과 그냥 범위로 나열되어 있는 형식의 데이터가 있다. 아래와 같은 범위로 된 데이터가 있다.데이터 표가 아니다.이럴때, 흔히 표의 특정 영역을 지정하여, 이름정의를 한다.B2:C20의 영역을 잡아서, 과일이름 영역이라 이름정의를 했다. 정의된 이름(범위)을 사용해서 VLOOKUP 함수를 건다면 다음과 같다.가장 일반적이지만, 오류의 가능성을 가진 형식이다. 오류가 발생하는 이유는 다음과 같이, 17번 이후에 18번 행(신규 행)이 추가되었을때,이를 이름정의에서 동적으로 반영하지 못한다는 점이다. 물론, 102번처럼, 이름정의가 사용된 범위의 중간에 행이 들어가게..
2021. 11. 16.
[엑셀VBA] 엑셀파일 용량줄일때, USEDRANGE 문제있는 시트 찾기
엑셀 파일의 용량이 커지는 이유는 많겠지만, USEDRANGE가 잘못 설정되는 경우가 많다.한마디로 말하면, CTRL이나 SHIFT 단축키 치다가 실수로 10만번째 행이 사용중인 영역으로 인식되는 경우라 하겠다. 서너개의 시트로 구성된 파일이라면, 일일이 CTRL+END키로 USEDRANGE를 체크하면 되겠지만,워크시트가 스무개가 넘어가면, 그 또한 일이다. 과거 USEDRANGE의 마지막 셀주소를 찾는 글을 쓴 적이 있는데, 아주 약간만 변형해서, 사용해 본다. 왼쪽부터 SHEET INDEX, 마지막 셀의 ROW(행), COLUMN(열), SHEETNAME 순서로 나온다.귀찮아서, HEAD는 안붙였다. 아래 예시에서 보면, Sheet1번의 마지막 행이 이상하다는 걸 알수 있다. 물론, 용..
2021. 9. 24.
[엑셀VBA] 날짜 자동 기재, 연습용 더미 데이터 생성
날짜 자동 기재, 연습용 더미 데이터 생성 엑셀을 처음 켰을 때, 당신은 무엇을 가장 먼저 하는가? 아마, 반복적으로 하는 작업 중 하나가, 날짜 열을 생성하는 것이다. 대부분 시작일자를 치고, 드래그하여 만들텐데, 귀찮으니, VBA로 만들어 보자. 방법은 여러가지가 있겠지만,내가 하고 싶은건- 시작일자와 종료일자를 입력하면, - 아래쪽으로 자동입력 되는 형태이다. 요런식으로.... 날짜가 입력되었으면, 우측에 연습용 데이터를 넣어본다.내가 할 방식은 작은 수와 큰 수를 넣으면, 랜덤방식으로 정수를 넣는 것이다. 아래와 같이 더미데이터가 랜덤으로 생성된다. 과정을 GIF로 보자 코드는 아래와 같다.취향과 용도에 따라서, 바꿔서 사용하면 되겠다. 물론, 근본은 없는 코드이다.
2021. 7. 20.