반응형

동적 배열 3

떨어진 값을 곱한 후 합계 구하기

1. 문제 D열의 값과 O열의 월에 해당하는 값, 다시 말해 2024/01은 E열, 2024/02는 F열의 값을 곱한 다음 그 합을 구해서 P열에 입력하는 것입니다. P5열에 예시로 든 수식은 =(D5*E5)+(D6*E6)+(D7*E7)+(D8*E8)+(D9*E9)로 전형적인 SumProduct 함수의 사용 예입니다. 2. SumProduct 함수 SumProduct 함수의 구문은 =SUMPRODUCT(array1, [array2], [array3],...)으로 곱할 값들의 범위 또는 배열을 1개 이상 입력하는 것입니다. 위와 같은 경우 array1은 D5:D9가 되고, array2는 E5:E9가 됩니다. P4셀에 =SUMPRODUCT(D5:D9,E5:E9)라고 입력하면 =(D5*E5)+(D6*E6)+(..

Excel 2024.02.08

여러 가지 조건을 만족하는 값을 찾을 때(3) - 동적 배열을 이용한 속도 개선

동적 배열을 이용해서 사용자 정의 함수 코드를 수정했더니 훨씬 속도가 빨라졌습니다. 1. 사용자 정의 함수 구문 가. 기존 코드 Option Explicit Option Base 1 Function multi_vlookup(lookup_value, lookup_array, return_array As Range) Dim i As Double '배열은 그대로 두고, 범위일 경우 배열로 변환 Dim Range_to_Array As Variant Debug.Print (vbCrLf & "범위 배열 변환1 : " & Now()) Range_to_Array = lookup_array For i = 1 To UBound(Range_to_Array) If i >= 2 And Len(Range_to_Array(i, 1..

EXCEL - VBA 2023.07.27

@ 연산자 - 동적 배열을 단일 값으로 변환

예전에 작성했던 엑셀 파일을 여니 @표시가 생겨서 살펴보니 @는 Implicit Intersection(암묵적 교차점) 연산자로서 과거 버전과의 호환성을 위해 Microsoft 365에 새로 도입된 기능이라고 합니다. 1. Microsoft 365의 배열 처리의 특수성 c2셀에 =b2:b13*2라고 입력하고 이전 버전의 경우는 Ctrl + Shift +Enter키를 눌렀는데, 엔터 키만 눌러도 C2셀부터 C13셀까지 B2셀부터 B13셀까지 값에 2를 곱한 값이 채워지고, 파란색 선으로 테두리가 쳐집니다. 다시 말해 배열인 경우 자동으로 배열의 크기만큼 계산이 이뤄집니다. 2. 이전 버전과의 호환성 확보 이전 버전의 경우는 Ctrl + Shift +Enter키를 누르지 않고 엔터 키만 누르면 배열이라도 셀..

Excel 2023.03.30
반응형