반응형

AGGREGATE 16

구글 스프레드시트 호환성 - Index + Aggregate(2)

3. 구글 스프레드시트의 수식 분석 가. 읍면동을 포함하는 법정동 불러오기 (1) 수식 엑셀에서의 수식은=IFERROR(INDEX('법정동코드'!$B$1:$B$49860,AGGREGATE(15,3,1/(ISNUMBER(FIND($A$2,'법정동코드'!$B$2:$B$49860))*('법정동코드'!$C$2:$C$49860="존재"))*ROW('법정동코드'!$B$2:$B$49860),ROW()-1)),"")인데, 구글 스프레드시트에서 가져오니앞에 ARRAY_CONSTRAIN과 ARRAYFORMULA가 붙어 있고,=ARRAY_CONSTRAIN(ARRAYFORMULA(IFERROR(INDEX('법정동코드'!$B$1:$B$49860,AGGREGATE(15,3,1/(ISNUMBER(FIND($A$2,'법정동코드'!$..

법정동을 선택하여 PNU 완성하기(2) - Index + Aggregate

https://lsw3210.tistory.com/567에서 읍면동명을 포함하는 법정동명을 구했는데,이번 글에서는 유효성 검사를 이용해 목록을 만드는 것부터 해보겠습니다. 나. 데이터 유효성 검사D1셀을 클릭하고 데이터 탭에서 데이터 도구 그룹의 데이터 유효성 검사 윗부분을 누릅니다. 그리고, 제한 대상으로 목록을 선택하고, C2:C30을 마우스로 끌어서 원본을  선택하고 확인 버튼을 누릅니다. 그러면 D2셀 오른쪽에 콤보 상자 버튼이 생깁니다. 콤보 상자 버튼을 누르면 C열의 법정동명이 표시되므로 원하는 동을 클릭해서 선택하면 됩니다. 맨 아래 회색 부분은 공백 때문에 그런 것입니다. 다. 법정동코드 구하기이제 선택된 법정동명에 대한 법정동코드를 구해보겠습니다. C2셀에 사용했던 수식과 비슷한데, in..

Excel 2024.08.21

법정동을 선택하여 PNU 완성하기(1) - Index + Aggregate

1. 문제 ① 읍면동명과 지번을 A2셀과 B2셀에 입력하면 ② 읍면동명을 포함한 법정동명을 검색한 후③ 유효성 검사 목록에 넣고④ 법정동명을 선택하면 해당 법정동 코드가 구해지고,⑤ 지번을 이용해 특지구분과 본번과 부번을 각각 4자리로 만들어⑥ 이들을 모두 결합해서 19자리 PNU 코드를 완성하려고 합니다. 법정동코드 시트는 법정동코드, 법정동명, 폐지여부 3개 열로 구성되어 있습니다. 2. 해법  가. A2셀에 입력된 읍면동명을 포함하는 법정동명 구하기포함이니까 Find 함수와 IsNumber가 필요하고,포함하는 법정동명을 여러 개 순서대로 구해줘야 하니 Small 또는 Aggregate 함수가 필요하고,순번에 맞는 법정동명을 구해야 하니 Index 함수,그리고, 에러 발생 시 공백으로 만들기 위해 I..

Excel 2024.08.20

선택값을 기준으로 필터하여 표시하기(2)

크게 배열 수식을 이용하는 방법과 동적 배열 함수인 Filter 함수를 이용하는 방법으로 나눠 살펴보겠습니다. 나. 배열 수식을 이용하는 방법배열 수식을 이용하는 것은 조건에 맞는 값을 찾은 후 index 함수를 이용해 순번에 따른 값을 차례로 표시하면 되는데, 차례대로 표시할 때 Small 함수를 이용할 수도 있고, Aggregate 함수를 이용할 수도 있습니다. 배열이 레거시 배열과 동적 배열로 구분되므로 먼저 동적 배열을 지원하는 Microsoft 365에서 해보고, 레거시 배열인 2019에서 해보겠습니다. (1) Microsoft 365의 경우 필터 시트는 아래와 같이 업체명이 업체4여야 한다는 조건과 결과 표시 영역이 있고, 데이터 시트에는 업체별 판매물품 등 데이터가 들어있으므로 여기서 업체명..

Excel 2024.07.30

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

이번에는 구역을 기준으로 도면 번호를 찾는 것이 아니라 실제 좌표를 기준으로 도면 찾는 것을 해보겠습니다. 아래와 같이 도면별 East Longitude(동경)와 North Latitude(북위) 좌표가 있을 때 북위 G3좌표와 동경 G6좌표에 해당하는 도면을 찾아보겠습니다. 도면이 겹칠 수도 있기 때문에 3개까지 찾아보겠습니다. 1. Aggregate 함수 순번대로 찾을 때 사용하는 함수가 Aggregate 함수입니다. Aggregate 함수의 구문은 배열형의 경우 아래와 같습니다. AGGREGATE(function_num, options, array, [k]) 가. 첫 번째와 네 번째 인수 함수(function)에 해당하는 번호(num)로 배열형인 경우 14번부터 시작하는데, 14가 Large함수, ..

Excel 2023.11.09

문장에서 숫자만 추출하기(2)

3. Find함수를 이용해 첫 번째 숫자의 위치 찾기(성공) Find함수의 첫 번째 인수는 찾을 값인데, 배열로 지정할 수 있으므로 숫자를 배열에 넣어서 =find({0,1,2,3,4,5,6,7,8,9},a2)라고 하면 Microsoft 365의 경우는 아래와 같이 동적 배열로 반환됩니다. 다른 엑셀 버전은 7만 반환될 듯합니다. 위 반환값에서 7은 0의 위치, 9는 1의 위치이며, 세 번째부터는 에러가 발생하는데 해당하는 숫자가 없기 때문입니다. 에러가 나면 떠오르는 것이 Aggregate 함수입니다. 배열형인 경우 Aggregate 함수의 구문은 AGGREGATE(function_num, options, array, [k])이며, 두 번째 인수인 options에서 오류값을 무시하는 옵션을 지정할 수 ..

Excel 2023.11.06

Index와 Aggregate 함수의 결합

아래와 같이 성명과 점수가 있을 때 점수를 내림차순으로 표시하고, 점수에 해당하는 성명을 추출하는 것을 수식을 통해 해 보겠습니다. 1. 정렬 데이터탭에서 정렬 명령을 누른 후 정렬 기준으로 점수를 선택하고, 정렬 순서를 내림차순으로 지정하고 확인 버튼을 누르면 쉽게 구할 수 있습니다. 2. index와 Aggregate 함수 이용하기 먼저 Ctrl + Z키를 눌 정렬하기 이전 상태로 되돌립니다. 가. 필요성 Vlookup함수로 찾기 어려운 일치하는 값을 찾을 때 index와 match함수를 이용하는데, match함수는 일치하는 값 또는 유사한 값 하나만의 위치를 찾아주기 때문에 위와 같이 동일한 값이 여러 개 있을 때는 적용하기 어려운 점이 있습니다. 나. 논리 index 함수의 구문은 INDEX(ar..

Excel 2023.08.13

조건에 맞는 값을 내림차순 또는 오름차순으로 찾기(3)

라. 조건에 맞는 데이터를 작은 값부터 표시하기 (1) 가장 작은 값이 0으로 표시되는 문제 j2셀의 채우기 핸들을 오른쪽으로 끈 후 K2셀의 Aggregate 함수의 첫 번째 인수를 작은 값부터 표시하도록 15-Small로 바꾸고 엔터키를 누르면, 가장 작은 값이 0이 아닌데 0이 나옵니다. 따라서, 조건에 해당하는 부분을 마우스로 끌어서 선택 후 F9키를 눌러서 계산값을 확인하 조건에 맞지 않을 경우 0이 돼서 그렇습니다. (2) 행정구역명(대)는 맞고 행정구역명(중)이 불일치할 때 문제 Esc키를 눌러 수식을 원래로 돌려놓고, 수식 맨 앞에 1/를 추가하고 엔터키를 누르면 될 줄 알았는데, False일 경우 #DIV/0!로 표시되는데, 첫 번째 #DIV/0! 다음이 0입니다. 왜 그런가 하고 살펴보..

Excel 2023.08.12

조건에 맞는 값을 내림차순 또는 오름차순으로 찾기(2)

다. 조건에 맞는 데이터를 큰 값부터 표시하기 (1) 방법 1 j1셀에 인구수 내림차순이라고 씁니다. 그리고, j2셀에 Aggregate 함수를 이용해 수식을 작성합니다. Aggregate 함수의 의미와 구문에 대해서는 이 글을 참고 바랍니다. (1) Aggregate 함수의 첫 번째 인수 내림 차순이므로 첫 번째 인수로는 14(Large)를 선택하고, (2) Aggregate 함수의 두 번째 인수 두 번째 인수로는 오류값을 무시하는 2를 선택합니다. (3) Aggregate 함수의 세 번째 인수 세 번째 인수에 조건을 입력하는데 F, G열과 인구수가 있는 E열을 살펴보면 서울특별시인 경우 F열은 '서울특별시'여야 하고, G열은 '공백이면 안되며', 조건에 맞는 'E열을 값'을 가져와야 합니다. 배열 수..

Excel 2023.08.11

정수에 가까운 숫자 찾기(3)

4. aggregate 함수를 적용할 경우 min함수 대신에 aggregate함수를 이용할 수도 있습니다. 가. AGGREGATE 함수를 이용한 수식 Aggregate함수의 구문은 배열형인 경우 AGGREGATE(function_num, options, array, [k])입니다. function_num은 함수의 번호로 배열형이므로 최솟값에 해당하는 함수 번호는 5 - MIN이 아니라 15 - SMALL입니다. options는 오류값을 무시하는 2 또는 3, 6, 7을 사용하면 되는데, 2를 선택하겠습니다. array는 배열인데, 정수가 같은 것 중 차이가 가장 작은 값을 찾아야 하므로 1/(ROUND($B$9:$I$9,0)=ROUND(B$9,0))*(ABS($B$9:$I$9-ROUND(B$9,0)))입..

Excel 2023.08.07
반응형