11월 셋째주|
UNO_WEEKLY |UNO_ZEN
x20201116_1152_UNOZEN.
UNO_WEEKLYExcel Basics|일련번호 배열상수에 배수를 하고 싶으면..
ROW,SUM,SUMPRODUCT,Array Formula,Array Constants
ROW함수는 아주 다양한 값을 얻게 해준다
그중의 하나는 일련번호로 구성된 배열상수를 얻게 헤준다
ROW(1:5) 라고 하면
{1;2;3;4;5}라는 배열상수를 결과값으로 돌려줘서 이 배열상수를
다양한 문제에 적절히 활용하게 해주는 좋은 함수다
그런데 이런 일련 번호가 1씩 증가하는 결과를 준다
이것을 {3;6;9;12;15}와 같은 일련 번호의 배열상수로
만들어서 하고 싶은 작업에 응용하고 싶은 것
좋은 문제의식인 것이다
그런데 알고 보면 너무 간단한 것이다
그 알고보면이라는 것이 기본중의 기본이다 보니
사람들은 기본을 등한시 하기때문에 어렵게 생각하게 된다
그냥 {1;2;3;4;5}*3을 해주면 되는 것이다
문제는 3이라는 단일숫자가 배열상수의 갯수만큼 배열로 확장되는 것이다
그래서 아래와 같이 계산이 된다
1*3
2*3
3*3
4*3
5*3
하지만 {1;2;3;4;5}*{3;4}라고 하면
계산엔진은 이것을 배열요소를 서로 서로 곱하고 부족한 부분은
에러가 되는 것이다
1*3
2*4
3*에러
4*에러
5*에러
그러니 배열상수에 하나를 곱하던가,
아니면 배열의 갯수가 같던가 해야 되는 것
이번 화일에 관련된 참고 유튜브동영상
3,ROW함수의 결과 일련번호 배열상수에 배수를 하고 싶다는 질문
2,숫자와 문자가 섞여있는 정보의 정렬..Text함수의 역할
1,부분합에서 계층별 그룹핑처리하기
x20201116_1152_ArrayConstantsMultiply.
UNO_WEEKLY|VBA_Advanced-
다단계 정렬과 부분합
매개변수로서 배열, Sort,SubTotal,Copy
초보코너에서 했던 정렬과 부분합을 VBA로 해보자
정렬은 Range개체의 Sort메소드와
Worksheet개체의 Sort개체가 있다
Range개체의 정렬은 정렬열을 3개까지 밖에 할수 없으나
간단하다
만약 여러개의 열을 정렬을 하고 싶다면 Worksheet개체의
Sort개체를 사용하고 그렇지 않으면 Range개체의 정렬메소드를
사용하는 것이 편리하다
종종 메소드의 매개변수에 배열을 전달하여야 하는 경우가 있다
SubTotal을 할때 그런 경우다
부분합의 계산을 하는 열이 하나만 있을수도 있지만
여러개의 계산을 하고 싶은 경우도 있을 것이다
그런 경우 계산열에 대한 정보(어떤 열을 할것인지)를 매개변수로
전달하여야 할 것이고, 이때 여러열르 하고 싶다면
어떠,어떠한 열을 할지 여러개의 열의 위치정보를 전달하여야 할것이고
이것은 하나의 정보가 아닌 떼거리 정보가 될것이고,
그러니 당연히 배열을 전달하는 것이 좋은 방법인것..
이 부분을 잘 살펴보시기 바란다
참고동영상
엑셀로 코딩을 배우자_93_메뉴로 하는 정렬과 부분합을 VBA로 처리해보자
x20201116_1152_SortSubTotal.