match

Excel – 수식 : Indirect, Address

안녕하세요, 채랑이 아빠 프리아입니다. 오늘은 조금 기분이 별로인 하루입니다….. 고객사로부터 오늘가지 자료 제출해 달라고 해서 아침부터 급하게 자료를 만들기 시작해서 점심때쯤 마무리 단계에 다달았는데 갑자기 연락이 와서 필요없다네요….. 이게 몬가요 ㅠ.ㅠ 급하게 하느라고 다른일도 못하고 있었는데… 에혀 여담은 여기까지만 하고, 오늘은 Indirect 함수와 Address 함수에 대해서 설명드릴께요.어떻게 보면 많이 쓸일이 없을지도 몰라요.하지만 잘 사용하기만 한다면 무지 좋은 기능을 가지고 있기도 합니다.(제 생각입니다 ㅋ) Indirect 함수는 임의의 글자를 셀이름으로 변환해 주는 명령어 입니다.무슨 뜻인지 조금 애매하지요? ㅎㅎㅎ기본적으로 엑셀에서 다른 셀을 참조하려면 다음과 같이 함수를 사용합니다. =A1 그러면 A1의 데이터를 가져오는 형식이죠.그런데, C1셀에는 A가 D1셀에는 1이 들어가 있는 상태에서, 다음과 같은 식을 써 넣으면 어떻게 될까요? =C1&D1 정답은 “A1″이라는 글자가 당겨오게 되어 있습니다.만약 저렇게 조합해서 A1셀의 데이터를 가져오고 싶다면 어떻게 해야 할까요?네 맞습니다. 이럴때 사용하는 함수가 Indirect 입니다. =INDIRECT(C1&D1,TRUE) 이렇게 입력을 하면 C1&D1의 조합이 A1이기 때문에 A1에 있는 데이터를 가져오는 것이죠.저기 보이는 마지막의 TRUE는 무엇인가 하면, A1스타일이라는 것입니다. ㅎㅎㅎ즉 우리가 부르는 셀의 이름 스타일을 True로 정의하고 있습니다.반대로 False는 R1C1 스타일이라고 하는데요, 행번호-열번호 스타일입니다.즉 R1C1은 1번행의 1번열이므로 A1이 됩니다. 즉, 각 셀을 번호로 호출하게 하는 것입니다. 위의 내용을 정리하면 다음과 같이 됩니다. 어떻게 이용할지는 아직 잘 모르시겠죠? 이용방법은 Address 명령어를 설명드리고, 응용하는 방법을 설명드리겠습니다. Address 함수는 Indirect의 R1C1 스타일과 같다고 생각하시면 됩니다.다만, R과 C라는 글자를 넣지 않고 행번호, 열번호로 이루어진다는 것이 차이점입니다.다양한 사용법이 있지만 Address를 많이 쓰지 않기 때문에 단순 사용법만 알려드릴께요.(사실 Address 함수는 Indirect명령어와 같이 쓰지 않으면 큰 의미는 없는데, 다른 사용법을 쓰실거면 그냥 Indirect명령어만 쓰는것이 더 낫습니다.) =ADDRESS(row_num, column_num) 상기와 같이 입력하면 되며, Row1, Column 1을 입력하면 $A$1 이라는 값을 리턴합니다.즉, 주소의 절대참조가 지정되는 것이지요.그리고 말 그대로 주소가 리턴되기 때문에 주소에 대한 결과가 리턴되는 것은 아닙니다.그래서 제대로 사용하려면 Indirect 명령과 혼합해서 사용해야 합니다. =INDIRECT(ADDRESS(1,1),TRUE) 이렇게 말입니다.예제는 다음과 같습니다. 자 이제 이걸 어디에 쓸것이냐 하면, 바로 Match, Index 명령어에 사용할 예정입니다.궁금하신가요? ㅎㅎㅎ일단 도서용 검색을 위한 프로그램이라고 가정하고 다음과 같이 사용할 수 있습니다. 별건 아니고, 일단 검색 기준과 출력 내용을 정하여 결과물을 출력하는 내용입니다.보시면 책 제목 “고양이 해결사 깜냥 2″의 출판사를 물어본 결과입니다.(고양이 해결사 깜냥은 우리 채랑이가 좋아하는 책입니다. ㅎㅎ TMI) 보다시피 Match, Index, Indirect, Address 4개의 명령어를 잘 사용하면 위와 같은 검색 프로그램을 만들 수가 있습니다. 정말 다양한 검색을 하기위해서는 추가로, 수식이 필요하겠지만 단순한 검색용도로는 충분합니다.대충 감이 잡히시나요? 한번씩 해보시면 쉽게 이해하실 수 있으실 거에요.어쩌면 많이 사용할 일은 없겠지만, 그래도 하나씩 알아두면 나쁘지 않을 것 같습니다. 자 오늘도 여기까지 쓰겠습니다. 좋은 하루 되세요 ^^

Excel – 수식 : Indirect, Address 더 읽기"

Excel – 수식 : Vlookup, Match, Index, 다중조건 데이터 찾기

안녕하세요 채랑이 아빠 프리아입니다. 오늘도 시간을 잠시 내서 글 쓰러 왔습니다 ^^. 계속해서 엑셀 관련 글을 쓰게 되네요 ^^. 간단하게 글쓰기엔 엑셀이 참 좋아요.오늘도 데이터 검색에 대한 팁을 하나 더 드리려고 합니다. Vlookup 명령어를 쓰다보면, 가끔 여러가지 조건을 넣은 검색을 해야 하는 경우가 있습니다.여러가지 조건을 넣은 합계나 평균의 경우 DSUM이나, DAVERAGE 명령으를 쓰면 되지만, 데이터를 찾아서 가져오는 것은 별도의 얘기죠.그래서 다중 조건 검색하는 방법을 설명 드리겠습니다. 오늘도 샘플 데이터를 가지고 설명 드릴께요.데이터는 랜덤으로 만들어져 있습니다. 가격차가 심하다구요? 네 랜덤으로 그냥 3만원 미만의 단가를 집어 넣었습니다. ^^아 랜덤 데이터 생성하는 것도 나중에 한번 다뤄봐야겠네요 ^^ 자 이번에는 문제를 내야 되겠죠? 가장 많은 부품명이 음…. HHHH 인것 같네요. 그럼 HHHH 부품 중 2022년 11월 11일에 들어온 자재의 단가를 확인해 보겠습니다. 2가지 조건이 들어간 문제로 테스트를 해보겠습니다. 자 Vlookup을 사용하여 데이터를 찾으려고 한다면, 보이는 테이블에서 바로 수행은 어렵습니다.네 하나의 열을 추가하여 검색을 하셔야 합니다. Vlookup 명령어의 기본은 찾는 데이터가 있는 열이 맨 앞에 있어야 합니다.즉, 단가의 데이터를 찾으시려면 A열의 앞과 뒤에 열을 추가해야 합니다. 열을 추가하셨으면, 질의 에 대한 서치 데이터를 만드셔야 겠죠?저는 A열 뒤에 열을 추가하고, B열에 다음의 수식을 반영하였습니다. =A2 & F2 그리고 복사해서 다 채웠어요그리고 아래와 같이 Vlookup 명령어로 데이터를 찾았습니다. =VLOOKUP(L4&L5,B2:C23,2,FALSE) 결과 화면은 다음과 같습니다. 결과는 보시다 시피 잘 나왔습니다.다만, B열에 신규 열이 추가되었습니다. 간단하게 데이터만 사용하는 경우에는 이렇게 작업해도 아무런 문제가 없겠지만, 여러사람이 봐야하는 데이터나 열을 추가할 수 없는 상황에서라면 이렇게 작업할 수 없게 됩니다.이럴때 사용하는 수식이 Match와 Index을 복합적으로 사용하는 것입니다. Index 수식은 배열에서 원하는 좌표를 반영하여 데이터를 가져오는 수식입니다.수식의 사용방법은 다음과 같습니다. =INDEX(array, row_num, [column_num]) 여러번 설명 드렸지만, array는 원하는 범위입니다. 그리고 row_num은 행의 번호이며, column_num은 열의 번호입니다.즉, 원하는 범위 내에서 행 번호, 열 번호에 해당되는 데이터를 출력하는 것입니다.위에 표에서 예를 들어 드릴께요. =INDEX(A2:G23,3,1) 범위 A2:23에서 3번째 행의 첫번째 열은 JJJJ값이 됩니다. 수학적인 표를 보는 것과 동일한 것입니다. 이번에는 Match 수식에 대해 설명드리겠습니다. Match는 요청하는 데이터가 몇번째에 있는지 찾아내는 수식입니다.수식의 사용방법은 다음과 같습니다. =MATCH(lookup_value, lookup_array, [match type]) 첫번재는 lookup_value입니다. 찾는 값이죠. 두번째는 lookup_array입니다. 찾는 데이터를 검색할 범위 입니다. 단, 이 범위는 행이면 1개의 행에서 진행되어야 하며, 열로 찾을 것이면 1개의 열에서 진행되어야 합니다. 여러개의 열과 행을 동시에 적용할 수 없습니다. 마지막으로 match type인데요, 이것은 숫자를 검색할 때 많이 사용하는 기능입니다. match type는 0, -1, 1이며, 0은 일치하는 값, -1은 작은 값, 1은 큰 값을 찾는 역활을 합니다.문자를 찾을 경우에는 반드시 0으로 검색해야 합니다. 이것도 예를 들어보겠습니다. =MATCH(“BBBB”,A2:A23,0) 자 A2에서 A23 범위 안에서 “BBBB”라는 부품이 몇번째 있냐는 질문입니다. 위에서부터 4번재에 있죠. 이것도 Vlookup과 마찬가지로 위에서부터 검색하므로, 여러개가 있을 경우 맨 위의 위치 값을 리턴합니다. 여기까지 듣고 나서 Match와 Index를 어떻게 써야할지 감이 잡히시는 분들도 계실 겁니다. 일단은 다중 조건 검색 이전에 Vlookup 명령어와 동일하게 사용되는 화면을 먼저 보여드리겠습니다.간단하게 질문 내용은 CCCC 부품의 단가로 찾아 보도록 하겠습니다. 자 결론부터 말씀드리면, 동일한 데이터가 출력된 것이 보이시죠? 맞습니다. Vlookup 명령어는 이렇게 Match와 인덱스 명령어를 섞어서 만들어진 수식입니다.그래서 동일한 결과가 나오게 되는 것입니다. Vlookup 명령어는 다시 설명 드리지 않겠습니다.Match와 Index를 사용한 수식을 설명드리겠습니다. 먼저 Index 명령어를 분석하면 밑에처럼 A1:G23 범위 내에서 행번호 열번호를 입력하도록 하는 것입니다.INDEX(A1:G23,행번호,열번호) 행번호는 MATCH(K4,A1:A23,0)입니다. 즉 찾는 데이터는 K4 즉 “CCCC”라는 부품명이죠, 범위는 A열이구요. match type는 당연히 일치(0)입니다. 그러면 CCCC가 있는 7이라는 값이 리턴되겠습니다. 마지막 열 번호는 단가가 있는 2열을 직접 입력하셔도 되고, MATCH(“단가”,A1:G1,0)으로 찾으셔도 됩니다. 1번행에서 “단가”와 일치하는 열 위치를 찾으니, 당연히 2라는 값이 리턴되겠죠. 그래서 인덱스에서 11,2의 데이터인 24,200의 값이 출력되게 됩니다. 자 이제 Match, Index 명령어에 대해서 감을 잡으셨지요?그럼 이번 글의 주요 핵심인 다중조건 검색을 진행해 보도록 하겠습니다. 수식은 다음과 같습니다. =INDEX(array, MATCH(lookup_value1&lookup_value2,lookup_array1&lookup_array2,0),column_num)=INDEX(데이터 범위, MATCH(조건1&조건2, 조건1의범위&조건2의범위,0),열번호) 원래는 엑셀에서 주는 조건을 입력하는데 이해하기 힘드실까봐 한글로도 내용을 써 드렸습니다.우선 Index 명령어 사용은 위의 1가지 조건으로 검색하던 것과 동일합니다. 대산 Match명령어는 조금 변경되었습니다. 우선 찾는 데이터가 조건1 & 조건2로 바뀌었습니다. 조건들 사이에 &가 들어가는 겁니다.또한 찾는 데이터를 검색할 범위 또한 범위1 & 범위2로 바뀌었습니다. 당연히 순서는 바뀌면 안되겠습니다. 그외에 match type은 동일하게 0(일치)으로 적용하면 됩니다. 여기서 아셔야 할 점은 2가지 조건이 아니라 조건이 추가되는 경우에도 위와 동일하게 적용할 수 있습니다. 즉, 조건1&조건2&조건3&……으로 하고, 범위1&범위2&범위3&….으로 하셔도 결과가 나온다는 겁니다. 이렇게 사용하면 열을 추가하지 않고도 다중 조건의 데이터를 검색할 수 있습니다. 다만, 이 경우는 최신 엑셀에서 적용되는 수식이라는 점입니다. 저의 경우 Office 2022를 사용하고 있어 데이터가 잘 나오는 것입니다.그렇다고 이전 버젼에서는 실행되지 않느냐 하면 그렇지는 않습니다. 다만, 식을 입력하고 ctrl+shift+enter를 눌러야만 적용된다는 점만 다릅니다. ctrl+shift+enter을 누르면 수식의 양 옆에 “{ }”가 추가된 것을 볼 수 있습니다. 예전에는 저렇게 하지않으면 데이터가 출력되지 않았으나, 최신버젼에서는 일반 수식처럼 입력해도 동작을 하도록 바뀌었습니다.참고로 말씀드리면, ctrl+shift+enter을 사용할 경우 파일의 용량이 커지며, 여러개를 사용할 경우 속도가 느려질 수 있다는 점 유의하여 주시기 바랍니다.아 물론 최신 버젼의 경우 다중조건 수식이 포함되는 것만으로도 용량이 커집니다. ㅎㅎㅎ. 자 이렇게 오늘은 다중조건의 데이터 검색을 알아보았습니다. 좋은 팁이 되었기를 바랍니다. 오늘도 좋은 하루 되세요 ^^

Excel – 수식 : Vlookup, Match, Index, 다중조건 데이터 찾기 더 읽기"

error: Content is protected !!