다른 시트의 참조를 사용하여 쉼표로 구분된 셀 값에 대한 vlookup

다른 시트의 참조를 사용하여 쉼표로 구분된 셀 값에 대한 vlookup

시트1이 있어요

**group**                 **Name**
red,white,blue
white, blue,red
blue,red
red,white,blue,pink

시트

sheet2 
Color              Name
red               joe
white             jim
blue              bill

시트

여러 레코드가 있는 경우 시트1의 그룹 이름에 대한 이름을 여러 번 조회하려고 합니다. b1은 텍스트 조인트에 Office 365를 사용할 수 없습니다. 다른 방법은 없나요?

답변1

VBA를 사용하여 수행하겠습니다.

  1. Alt+를 사용하여 VBA 편집기를 엽니다 .F11

  2. 삽입 > 모듈

  3. 다음 코드를 붙여넣으세요.

하위 조회_VBA()

  범위로 희미한 c
  Dim arr() 문자열로
  내가 오랫동안 어둡게
  오랫동안 희미한 일치
  sResult를 문자열로 희미하게 표시

  오류 발생 시 GoTo errH
  Sheets("Sheet1").Range("A2:A10")의 각 c에 대해
    arr = 분할(c, ",")
    i = 0에서 UBound(arr)로
      match = WorksheetFunction.match(Trim(arr(i)), Sheets("Sheet2").Cells(1).EntireColumn, 0)
      일치하는 경우 = 0 그러면
        sResult = sResult & "해당 사항 없음, "
      또 다른
        sResult = sResult & Sheets("Sheet2").Cells(match, 2).Value & ", "
      종료 조건
      일치 = 0
    다음
    sResult = 왼쪽(sResult, Len(sResult) - 2)
    c.Offset(, 1).Value = sResult
    sResult = vbNullString
  다음
오류H:
  Err.Number = 1004인 경우
    다음 재개
  ElseIf Err.Number > 0 Then
    MsgBox Err.Number & " " & Err.Description, , "오류"
  종료 조건

서브 끝
  1. 코드에서 .Range("A2:A10")"그룹" 열에 있는 데이터의 실제 주소로 변경하세요.
  2. 필요한 경우 Sheet1Sheet2실제 시트 이름을 변경합니다.
  3. 때리다F5

결과:
VBA 조회 구분 기호 쉼표 결과

관련 정보