반응형

rows 8

오른쪽부터 3개의 평균 구하기

1. 문제 아래와 같이 회차별 점수가 있을 때오른쪽부터 3개의 평균만을 구하려고 합니다. 2. 관련된 함수해법 1은 Index와 Large 함수가 필요하고,해법 2는 Take, Filter 함수가 필요합니다. 각각의 함수의 구문에 대해 알아보겠습니다. 가. Index 함수참조형과 배열형이 있는데,배열형을 사용하면 되며, 배열형의 구문은INDEX(array, row_num, [column_num])로서, 배열 array에서 행 수와 열 수에 해당하는 값을 가져오는 것입니다. 나. Large 함수구문은 LARGE(array,k)로서array는 배열, k는 순번입니다. 다. Take 함수구문은=TAKE(array, rows,[columns])로서 첫 번째 인수는 array 배열이고, rows는 가져올 행 수,..

Excel 2024.05.16

한글이 아닌 엑셀로 하는 메일 머지(3)

문제는 여기를 참고 바랍니다. 3. 해법 2 : 이름뿐만 아니라 나머지 내용까지 매크로로 처리하는 방법 가. 논리이번에는 셀 값을 Vlookup함수가 아니라 다른 시트의 셀 주소로 연결하는 방법과 같은 연번에서 이름이 반복될 경우 고지서에 한꺼번에 인쇄하는 매크로를 만들어 보겠습니다. (1) 셀 값을 다른 시트의 셀 주소로 연결하기 예를 들어 고지서 시트의 회사명(성명)인 D6셀에는 명단 시트의 E열의 값이 입력되어야 합니다. 이 때는 연결키가 없어도 됩니다.그리고, 토지 소재지인 시군, 읍면, 리동은 명단 시트의 G, H, i 열과 연결되면 됩니다. (2) 같은 연번에서 이름이 반복될 경우 인쇄하기 "같은 연번"이란 병합된 셀로서 처리 줄과 윗 줄의 A1셀이 동일한 경우이고, "이름이 반복된다"는 것은..

EXCEL - VBA 2024.03.29

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

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

좌표와 일치하는 도면 번호 찾기(2)

1편은 이 링크로 접속하면 됩니다. 2. Offset 함수로 구하기 가. Offset 함수의 구문 Offset함수의 구문은 OFFSET(reference, rows, cols, [height], [width])으로 reference는 기준점이고, rows는 떨어진 행 수, cols는 떨어진 열 수, height는 높이, width는 너비입니다. 대괄호 안에 있는 것은 옵션이므로 생략할 수 있는데, 높이와 너비를 지정하면 일정한 열과 행만큼 떨어진 위치에서 크기와 높이로 범위를 지정할 수 있습니다. 여기서, rows는 현재 셀이 0이고, 아래로 내려갈 때는 +, 위로 올라갈 때는 -, cols는 현재 셀을 기준으로 오른쪽으로 이동할 때는 +, 왼쪽으로 이동할 때는 -입니다. 나. index함수와 비교 in..

Excel 2023.11.08

Range.AutoFilter Method(8) - 필터된 영역에 붙여넣기(2-3)

복사할 범위와 붙여 넣을 범위가 모두 필터링된 경우에 복사해서 붙여 넣기를 다뤄보겠습니다. 1. 작업 내용 사례로서 적합한 데이터는 아니지만 첫 번째 시트에는 가락2동으로 필터 된 데이터가 있고, 두 번째 시트는 가락1동으로 필터 된 데이터가 있어서 첫 번째 시트의 내용을 복사해서 두 번째 시트에 붙여 넣으면 9행이 아니라 숨겨진 행인 7,8행에 붙여 넣기가 됩니다. 따라서, 매크로를 작성해서 처리해야 합니다. 2. 논리 복사할 범위도 필터링되어 있기 때문에 for c in PasteRange for d in CopyRange 라고 CopyRange에서 화면에 보이는 셀(범위)만 하나씩 실행하는 것을 생각할 수 있는데, 이렇게 하면 이중 반복문이므로 붙여 넣을 범위의 행수 * 복사할 범위의 행수만큼 반복..

EXCEL - VBA 2023.03.13

Range.AutoFilter Method(6) - 필터된 영역에 붙여넣기(2-1)

이번에는 한 열이 아니라 25행에서 30행에 있는 A부터 K까지 열을 복사해서 붙여 넣기를 해보겠습니다. 1. Rows() 함수 이용 가. 모듈 삽입 줄 전체를 복사하는 것은 Rows 함수를 이용하여 쉽게 구현할 수 있습니다. 먼저 개발도구 - Visual Basic을 클릭해서 Visua Basic Editor로 들어간 다음 '서울시 지역 ....xlsx 파일이 선택된 상태에서 삽입 - 모듈을 누르거나 사용자 정의 폼 등 삽입을 위한 콤보 상자 버튼을 누른 후 모듈을 삽입합니다. 나. 매크로 작성 Range.AutoFilter Method(6) - 필터된 영역에 붙여넣기(1)의 FilteredRange_Copy3 sub 프로시저를 참고해서 만들었는데, CopyRange로 복사할 행의 한 열만 선택하도록 ..

EXCEL - VBA 2023.03.09

Range.AutoFilter Method(1) - expression.AutoFilter

1. 구문 VBA에서 사용하는 AutoFilter 메서드의 구문은 아래와 같습니다. expression.AutoFilter (Field, Criteria1, Operator, Criteria2, SubField, VisibleDropDown) ㅇ expression : Range 오브젝트를 반환하는 표현, 예, ActiveCell, Selection, Range("A1") 등 ㅇ Field : filter를 배치하려고 하는 영역의 offset(상대적 위치) 순번(index)으로 목록의 가장 왼쪽이 1 임. 따라서, 목록(list)이 A열부터 시작한다고 하면 A열이 1이지만, B열부터 시작한다고 하면 B열이 1이 됨 ㅇ Criteria1 : 조건1 ㅇ Operator : 필터에 적용되는 조건과 관련된 연산..

EXCEL - VBA 2023.03.02

CurrentRegion의 속성 알아보기

1. CurrentRegion의 주소 확인하기 CurrentRegion(현재 영역)의 설정 범위를 알아보기 위해 VB Editor를 실행한 후 코드를 작성해 보겠습니다. 가. 코드 작성 모듈을 삽입한 다음 아래와 같이 코드를 작성합니다. Sub cur_range_addr() Dim cur_range As Range Set cur_range = Range("a2").CurrentRegion MsgBox cur_range.Address End Sub 나. 코드 설명 Dim cur_range As Range : 현재 영역을 저장하기 위한 변수 cur_range를 Range(범위) 형식으로 선언합니다. Set cur_range = Range("a2").CurrentRegion : - 일반적인 변수는 cur_ra..

EXCEL - VBA 2023.01.30
반응형