목록찾기 (4)
rand(life)
지식인에서 들어온 질문.리스트상의 단어가 데이터상의 단어를 포함한 긴 단어에 있을 경우 해당하는 모든 중복되는 데이터에 대해 Listed 밑에 리스상의 단어로 하나만 표기하면 됩니다. 가령 APPLE 이 리스트 단어이면 DATA상에 APPLE_1/APPPL_2가 있으면 그냥 APPLE 만 표기하도록 매크로를 작성해주세요.List에 없는 단어 중 Name에 있으면 Non-listed에 표시해주세요여기서는 안보이지만, Apple, Melon, Strawberry, Pear 등으로 이루어진 List목록이 따로 있다Potato는 List목록에는 없는데 Name에는 있기때문에 Non-listed에 표시된다. 사실 앞의 문제는 해결이 쉽다. .Find 메서드를 이용하면 된다.시트에서 Ctrl-F 를 누른 것과 같은..
위의 표에서, C열에 "하분류"에 단어들이 들어가 있다. 하분류를 넣으면 상분류, 중분류까지 나오게 하고 싶다 이런 식으로 정리가 되어있다면 INDEX, match함수로 간단하게 될 것이다. 하분류가 A열에 가 있다면 VLOOKUP함수로 더욱 간단하게 된다. 하지만 지금 형태를 그대로 두고서 수식을 만들면 위와 같다말로 설명하면 다음과 같다(FIND($E2,$C$2:$C$7)): E2에 있는 단어 "호박"이란 단어가 C2:C7의 배열에서 어느 셀에 위치하는지 찾아서ISERROR : 배열에 결과값이 숫자인지 오류인지 확인 (숫자가 결과값이라면 해당 단어가 존재한다는 의미)NOT ~~ *1 : 결과값이 오류이면 0을, 숫자이면 1을 부여SUMPRODUCT : 위의 0과1의 배열에 행번호를 곱한다 (해당 단어..
INDEX함수가 상당히 자주 쓰이는 유용한 함수인데 작년에 빠뜨려서 이번에 보충합니다. 엑셀 도움말에는 다음과 같이 되어있습니다. INDEX(array,row_num,column_num) array 배열 상수나 셀 범위입니다. 배열에 행이나 열이 하나만 있을 때는 row_num이나 column_num 인수를 생략할 수 있습니다. 배열에 행과 열이 두 개 이상 있을 때 row_num이나 column_num만 사용하면 배열의 전체 행이나 열이 하나의 배열로 반환됩니다. row_num 값을 반환할 배열의 행을 선택합니다. row_num을 생략하면 column_num을 지정해야 합니다. column_num 값을 반환할 배열의 열을 선택합니다. column_num을 생략하면 row_num을 지정해야 합니다. 주의..
오늘은 FIND함수입니다. 찾으려는 문자가 어디에 있는지 그 위치를 반환합니다. FIND(find_text,within_text,start_num) find_text 찾을 텍스트입니다. within_text 찾으려는 텍스트를 포함하는 문자열입니다. start_num 검색을 시작하는 문자를 지정합니다. within_text에서 첫 문자의 문자 번호는 1입니다. start_num을 생략하면 1로 간주됩니다. 주의 FIND는 대/소문자를 구분하며, 와일드카드 문자를 사용할 수 없습니다. 대/소문자를 구분하지 않고 검색하거나 와일드카드 문자를 사용하려면 SEARC를 사용해야 합니다. find_text가 ""(빈 텍스트)이면 FIND는 검색 문자열의 첫 문자를 찾습니다. 즉 start_num번째 또는 첫 번째 문..