엑셀 2차키워드화 관련문의 (초고수분들께 도움을 청합니다)
함수/공식
작성자
푸우
작성일
2022-06-24 14:54
조회
52
안녕하십니까, 엑셀 초고수 선생님들
회사에서 데이터 분류작업을 하려고하는데요,
정형화되지 않은 데이터에서 키워드를 추출해내는 작업까지는 했습니다.
* (D열은 텍스트 조인 활용하여 추출하였으며, 형식은 아래 사진과 같이 해당 키워드를 콤마와 함께 가져옴)
여기서 추가적으로, 키워드를 그룹화한다음(H열),
D열의 1차분류된 데이터를 G,H열을 참고하여, E열에 출력코자하는데
제가 몇날 몇일을 고민해도 방법이 떠오르지않아서 여쭤봅니다 ㅠㅠ....
고수님들의 도움을 부탁드려요 !!
전체 6,913
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
📌 -- VBA 기초-활용 4주 완성, 특별 스터디 모집을 시작합니다! (모집 마감) -- 📌 (99)
![]() ![]() |
![]() ![]() |
2022.06.23 | 144 | 17904 | ||
공지사항 | 함수/공식 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(79)
오빠두엑셀
|
2021.10.28
|
추천 98
|
조회 5360
|
![]() ![]() |
2021.10.28 | 98 | 5360 |
39126 | VBA |
New FindWindowEx 선택
![]() ![]() ![]() |
![]() |
12:07 | 0 | 13 |
39125 | 문서서식 |
New 엑셀 행 선택 시 CTRL + SHIFT + 하단 방향키가 안되요
![]() |
![]() |
11:54 | 0 | 16 |
39121 | 기능/도구 |
New 셀 활성화? 표시가 안되요ㅠㅠ 개미들이 안움직임
![]() ![]() |
![]() |
11:35 | 0 | 19 |
39119 | VBA |
New 유저폼 생년월일 또는 주민등록번호는 입력해서 만나이를 추출하고 싶습니다.
![]() |
![]() |
11:24 | 0 | 14 |
39115 | 함수/공식 |
New 중복값 강조 또는 함수를 이용한 원하는 항목 찾기 문의
![]() ![]() ![]() |
![]() |
10:40 | 0 | 17 |
39113 | 문서서식 |
New 데이터가 있음에도 불구하고 필터에 아무것도 안잡히는 경우 질문드립니다.
![]() ![]() ![]() |
![]() |
10:37 | 0 | 16 |
39111 | 차트/그래프 |
New 간단한 그래프 만드려고 하는데 조언 부탁드리겠습니다.
![]() ![]() ![]() |
![]() |
10:24 | 0 | 15 |
39110 | VBA |
New VBA 파일 유효기간이 지나면 읽기전용으로 하고싶어요!
(1)
![]() ![]() |
![]() ![]() |
10:05 | 0 | 23 |
39103 | VBA |
New 특정 셀에 특정 값을 입력하면 msgbox 띄우기 (매크로 트리거)
(1)
![]() |
![]() |
01:45 | 0 | 23 |
39097 | VBA |
New Worksheet_Change 기능을 Module 에서 다루기
(3)
![]() |
![]() |
2022.07.06 | 0 | 40 |
39093 | 함수/공식 |
New 쉼표로 구분된 단어 끊는 방법좀 알려주세요! 부탁드립니다
![]() ![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 32 |
39092 | 함수/공식 |
New 정렬 기능 대신 3가지 순서로 RANK 매기기
![]() ![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 30 |
39082 | 함수/공식 |
New RANK와 RANK.EQ 함수 문의
![]() ![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 18 |
39075 | 파워쿼리/피벗 |
New 파워쿼리 새로고침시 개인정보수준이라는 팝업이 뜨면서 에러가 납니다.
![]() ![]() |
![]() |
2022.07.06 | 0 | 20 |
39072 | 함수/공식 |
New 숙박일수 계산 추가질문드립니다.
![]() ![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 32 |
39071 | 함수/공식 |
New 상태표시줄 관련
![]() ![]() |
![]() |
2022.07.06 | 0 | 27 |
39070 | 함수/공식 |
New 함수? 사용해서 1시트의 내용을 2시트에 표시하는 방법좀 알려주세요
![]() ![]() |
![]() |
2022.07.06 | 0 | 27 |
39062 | VBA |
New 고급필터를 사용하여 추출한 데이터를 수정하면 원본 데이터 시트에서 수정되는 코드 해석 부탁드립니다
![]() ![]() |
![]() |
2022.07.06 | 0 | 39 |
39059 | 차트/그래프 |
New 슬라이서 다중 연동하여 원형차트 시 적용되지 않는 문제
![]() ![]() |
![]() |
2022.07.06 | 1 | 12 |
39052 | VBA |
New 파일 삭제 매크로가 한쪽 문구에서만 작동을 합니다.
![]() ![]() |
![]() |
2022.07.06 | 0 | 23 |
39044 | VBA |
New 사용자정의함수를 다른PC에 적용
(2)
답변완료
![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 37 |
39034 | VBA |
New 자동화 프로그램 항목 추가 관련
![]() |
![]() |
2022.07.06 | 0 | 45 |
39032 | VBA |
New VBA 고급자동필터 활용 조건 값이 비워 있을 때 결과 값도 안 나오게 하는 방범 문의 합니다.
![]() ![]() ![]() |
![]() ![]() |
2022.07.06 | 0 | 33 |
39019 | 함수/공식 |
New 엑셀 수식시 범위부분이 절대값이 안되요
![]() ![]() |
![]() |
2022.07.05 | 0 | 33 |
39016 | 함수/공식 |
New vlookup으로 가져온 알파벳을 특정숫자로 바꾸는 방법(쌩초보)
(1)
![]() |
![]() |
2022.07.05 | -2 | 33 |
39014 | VBA |
New 열 추가 문의
![]() ![]() |
![]() |
2022.07.05 | 0 | 35 |
39009 | 함수/공식 |
New index,match 함수 중에서 동일한 값이 나올때
![]() ![]() |
![]() |
2022.07.05 | 0 | 28 |
39007 | 함수/공식 |
New VLOOKUP 조건에 맞는 것을 계속해서 나열하고 싶을 때
![]() ![]() |
![]() |
2022.07.05 | 0 | 39 |
39003 | 함수/공식 |
New 셀에서 영어만 추출하기
![]() ![]() ![]() |
![]() |
2022.07.05 | 0 | 30 |
38996 | VBA |
New 현재 열넓이 확인후 20 더하는 방법
(1)
![]() |
![]() |
2022.07.05 | 0 | 36 |
@푸우 님 아래 공식으로 쉼표기준으로 나누고
https://www.oppadu.com/엑셀-텍스트-나누기-공식/
나눠진 값들을 아래 공식으로 키워드 추출하고
https://www.oppadu.com/엑셀-카드-내역-분류/
TEXTJOIN하면 됩니다
@푸우 님 VBA를 이용하면 어렵지 않게 만들 수 있을 겁니다. 주요하게 사용될 메서드를 간략히 소개하면 아래와 같습니다. 잘 모르는 내용이면 검색을 해서 조금만 살펴보면 많은 예제들이 있으니 어렵지 않게 구현 가능합니다.
Split : 먼저 D열의 키워드를 콤마를 기준으로 잘라 배열에 담습니다.
Application.Vlookup : 배열에 담긴 키워드를 For Each 순환문으로 그룹명에서 찾아 카테고리명을 Collection에 담습니다. Collection에 담을 때 이미 담긴 카테고리명은 에러가 발생하므로 skip하고 다음 키워드를 찾습니다. 그러면 '중복되지 않은 카테고리'를 배열로 담을 수 있습니다.
ReDim Preserve : 찾은 카테고리명을 '동적 배열'에 담을 때는, 배열의 크기가 정해지지 않은 상태이므로 배열에 담을 때마다 ReDim Preserve로 배열의 크기를 하나씩 키운 다음 담아줘야 합니다.
Join : 배열 형태로 담긴 카테고리명을 다시 콤마 기준으로 텍스트를 완성해서 E열에 출력합니다.
For 순환문 : 위의 전체 과정을 For ... Each 문으로 만들어서 D열의 모든 셀 범위에서 순환하도록 하면 E열에 카테고리명이 전부 출력됩니다.
가장 핵심이 되는 Collection 부분에 대해서는 제가 만들어둔 Function을 참고해 보시기 바랍니다. 나머지 다른 메서드는 워낙 사용이 단순해서 어렵지 않게 찾아서 만드실 수 있을 겁니다.
인수로 Range를 포함해서 Function으로 사용하셔도 되고, 인수 부분을 삭제하고 그냥 Sub로 바꿔 사용하셔도 됩니다. (rngAll은 그럼 별도로 변수 선언과 Set 문으로 범위 지정을 해주셔야 합니다.)
@푸우 님 파워쿼리입니다.
첨부파일 : Book4.xlsx
@마법의손 님 와 진짜 마법의손이시네여..... ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 감사합니다