회사에서 일을하다보면, 시트이름을 월로 해두고 동일한 양식을 복사해서 사용하는 경우가 왕왕 있다.
이때, 시트이름에서 월데이터 정보를 얻어서, 시트 내에서 사용한다면, 유용할 수 있겠다는 생각을 해봤다.
시트이름 호출
아래 수식을 복사한다면, 당신은 시트이름을 반환받을 수 있다.
CELL
함수로 워크북 저장경로, 파일이름, 시트이름을 불러오고, FIND
함수로 시트이름의 시작을 찾아서,MID
함수로 발라내는 방식이다.
아래 함수보다 복잡하지 않은 범용 사용법을 안다면 꼭 댓글을 부탁한다.
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1),1)+1,LEN(CELL("filename",A1)))
여기서 사용된 B1셀
참조값은 시트 내 아무 값이어도 무방하다. 바뀌는 것이 보기 싫다면, $A$1
으로 고정을 해두는 것도 나쁘지 않다. MID
함수의 마지막에 LEN
함수로 길이를 정한 이유는 적어도 시트이름이 시트이름을 포함한 경로 전체보다는 작을 것이기 때문이다.
마지막 날짜와 날짜수 확인
연도와 월 값을 불러왔으니, 사용할 수 있는게 뭐가 있을까? 월마다 바뀌는 지표는 마지막 날짜이니, 30일인 달인지, 31일인 달인지, 28일인 달인지 아래와 같이 확인해보려고 한다.
위에 불러진 연도와 월 값을 이용해서, 순차적으로 적용한 수식은 아래와 같다.
시작일 같은 경우는, 위에서 얻어낸 월 정보 202203
에서, LEFT
함수로 좌측 4개 텍스트를 DATE
함수의 YEAR
, MID
함수로 DATE
함수의 MONTH
값을 넣어주고, DATE
함수의 DAY
에는 1을 넣어주었다.
마지막날은 동일한 수식에, EOMONTH
함수로 마지막날을 구해주었다. 특별한 건 없다.
날짜수는 엄청 복잡해 보이지만, 위에 만들어놓은 마지막일에서 시작일을 빼고, +1
해준 값이다. 물론, 마지막 날짜를 구한 것에서 DAY
값만 빼낸 것과 동일하다.
다음부터는 시트이름의 규칙이 동일하다면, 수식을 그냥 복사해서 쓸수 있다. 하지만 명심해야 할 것은 윈도우 저장경로를 이용하기 때문에 온라인 엑셀에서는 되지 않는다는 것.(CELL함수 자체가 없음)
끝.