이번에 풀어본 문제는 매출데이터가 월별로 있을 때 각팀에서 매월 최소값과 최대값을 구하는 것이다. 일단 기본적으로 1월부터 12월까지 12번을 열 방향으로 순환을 해야 하고 각 팀에서 값들을 서로 비교하며 최소값과 최대값을 구해야 하는 문제의 난이도 보다는 좀 귀찮은 문제이다.

처음에 구해본 방식은 딕셔너리를 두개를 선언하여 하나는 최소값을 하나는 최대값을 구해서 총 12번을 순환하는 코드를 만들어 보았다.
딕셔너리를 한번만 사용해서 아이템값에 배열로 넣어서 V(0)에 최소값 / V(1)에 최대값을 넣어보려 했지만 일단 들어는 가는데 수정이 되질 않았다. 시간내어서 다시 도전해 보려고 한다.

두번째 방식은 Consolidate 이다.
https://1stminokingdom.tistory.com/8
[VBA_Consolidate] 부분합 구하기
몇일전에 같은 연번내에서 부분합 구하기를 한 적이 있다. 하면서도 문제에 비해서 너무 요란하게 코드를 작성하는게 아닌가 싶어서 구글링을 했더니 그 긴 코드가 한줄로 가능한것을 보고 역
1stminokingdom.tistory.com
Consolidate에 최소값과 최대값을 구할 수 있어 적용을 했더니 월단위가 아닌 전체 영역을 잡아도 된다...
헉!!!!

대단한 녀석이다. 코드가 너무 단순하고 깔끔하다..
속도로 셀기반 녀석이 메모리기반보다 더 빠르다...물론 내가 딕셔너리를 잘못 쓴거였지만...암튼 Consolidate 대단~~
'VBA' 카테고리의 다른 글
[VBA_달팽이알고리즘] 단순반복 VS 재귀함수 (0) | 2021.09.06 |
---|---|
[vba_Min/Max] 월별 매출데이터 최소값 최대값 구하기_Pivot (0) | 2021.09.02 |
[VBA_재귀함수] 조합수만큼 나열하기 (0) | 2021.08.28 |
[VBA_매출순위] Consolidate .vs. ADO를 통한 매출순위 구하기 (0) | 2021.08.27 |
[VBA_Dictionary] dictionary + dictionary(feat. nick : 다잡IT) (1) | 2021.08.27 |
댓글