Note: The other languages of the website are Google-translated. Back to English

하나의 쉼표로 구분 된 셀에서 여러 조회 값을 반환하는 방법은 무엇입니까?

Excel에서 VLOOKUP 함수를 적용하여 테이블 셀에서 첫 번째로 일치하는 값을 반환 할 수 있지만 때로는 일치하는 모든 값을 추출한 다음 쉼표, 대시 등과 같은 특정 구분 기호로 분리해야합니다. 다음 스크린 샷과 같이 셀. Excel에서 쉼표로 구분 된 하나의 셀에서 여러 조회 값을 가져오고 반환하려면 어떻게해야합니까?

문서는 여러 값을 쉼표로 구분하여 반환 1

사용자 정의 함수를 사용하여 하나의 쉼표로 구분 된 셀에 여러 조회 값을 반환합니다.

Excel 용 Kutools를 사용하여 하나의 쉼표로 구분 된 셀에 여러 조회 값을 반환합니다.


사용자 정의 함수를 사용하여 하나의 쉼표로 구분 된 셀에 여러 조회 값을 반환합니다.

일반적으로 일치하는 여러 값을 추출하여 쉼표로 구분하여 하나의 셀로 분리하는 직접적인 방법은 없습니다. 여기서 사용자 정의 함수를 만들어이 작업을 해결할 수 있습니다. 다음과 같이하십시오.

1. 누르고 ALT + F11 키를 눌러 응용 프로그램 용 Microsoft Visual Basic 창.

2. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 다음 코드를 모듈 창문.

VBA 코드 : 여러 조회 값을 하나의 쉼표로 구분 된 셀로 반환

Function SingleCellExtract(LookupValue As String, LookupRange As Range, ColumnNumber As Integer, Char As String)
'Updateby Extendoffice
    Dim I As Long
    Dim xRet As String
    For I = 1 To LookupRange.Columns(1).Cells.Count
        If LookupRange.Cells(I, 1) = LookupValue Then
            If xRet = "" Then
                xRet = LookupRange.Cells(I, ColumnNumber) & Char
            Else
                xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
            End If
        End If
    Next
    SingleCellExtract = Left(xRet, Len(xRet) - 1)
End Function

3. 그런 다음이 코드를 저장하고 모듈 창을 닫고 워크 시트로 돌아가 다음 공식을 입력합니다. = SingleCellExtract (D2, A2 : B15,2, ",") 결과를 반환하려는 빈 셀에. 그런 다음 엔터 버튼 결과를 얻으려면 키, 스크린 샷 참조 :

문서는 여러 값을 쉼표로 구분하여 반환 2

주의 사항: 위 공식에서 :

D2: 조회하려는 셀 값을 나타냅니다.

A2 : B15: 데이터를 가져 오려는 데이터 범위입니다.

2: 숫자 2는 일치하는 값이 반환 될 열 번호입니다.

,: 쉼표는 여러 값을 구분하려는 구분 기호입니다.

필요에 따라 변경할 수 있습니다.


Excel 용 Kutools를 사용하여 하나의 쉼표로 구분 된 셀에 여러 조회 값을 반환합니다.

당신이 있으면 Excel 용 Kutools,이 작업은 더 이상 문제가되지 않습니다. 그만큼 고급 결합 행 유틸리티는 열을 기반으로 모든 상대 값을 결합하는 데 도움이 될 수 있습니다.

Excel 용 Kutools : 300 개 이상의 편리한 Excel 추가 기능으로 30 일 동안 제한없이 무료로 사용해 볼 수 있습니다.

설치 후 Excel 용 Kutools, 다음과 같이하십시오.

1. 열을 기준으로 일치하는 모든 값을 결합 할 데이터 범위를 선택합니다.

2. 딸깍 하는 소리 쿠툴 > 병합 및 분할 > 고급 결합 행, 스크린 샷 참조 :

3. 에서 열을 기준으로 행 결합 대화 상자에서 결합 할 기준이되는 열 이름을 클릭 한 다음 기본 키 버튼, 스크린 샷 참조 :

문서는 여러 값을 쉼표로 구분하여 반환 4

4. 그런 다음 일치하는 값을 결합 할 다른 열 이름을 클릭하고 결합 결합 된 값을 구분하기 위해 하나의 구분 기호를 선택하려면 스크린 샷을 참조하십시오.

문서는 여러 값을 쉼표로 구분하여 반환 5

5. 그런 다음 OK 버튼을 클릭하면 동일한 값을 가진 모든 해당 셀이 쉼표로 구분 된 하나의 셀로 결합되었습니다. 스크린 샷을 참조하십시오.

문서는 여러 값을 쉼표로 구분하여 반환 6 2 문서는 여러 값을 쉼표로 구분하여 반환 7

이 고급 결합 행 유틸리티에 대한 자세한 내용을 보려면 클릭하십시오…

Excel 용 Kutools를 지금 다운로드하고 무료로 평가하십시오!


데모 : Excel 용 Kutools를 사용하여 하나의 쉼표로 구분 된 셀에 여러 조회 값 반환

Excel 용 Kutools: 300 개 이상의 편리한 Excel 추가 기능으로 30 일 동안 제한없이 무료로 사용해 볼 수 있습니다. 지금 다운로드 및 무료 평가판!

최고의 사무 생산성 도구

Excel용 Kutools는 대부분의 문제를 해결하고 생산성을 80% 증가시킵니다.

  • 재사용: 빠르게 삽입 복잡한 공식, 차트 그리고 이전에 사용한 모든 것; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 셀 내용 분할; 중복 행 / 열 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 300개 이상의 강력한 기능. Office / Excel 2007-2021 및 365를 지원합니다. 모든 언어를 지원합니다. 기업 또는 조직에서 쉽게 배포할 수 있습니다. 전체 기능은 30일 무료 평가판입니다. 60일 환불 보장.
kte 탭 201905

Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (16)
5에서 평가 된 5 · 2 등급
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
모듈을 붙여넣고 저장하는 동안 기능 호환성 검사기가 크게 손실된다는 팝업 메시지가 나타납니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이 게시물에 감사드립니다. 이것이 생성하는 두 개의 개별 정수를 조작하는 방법을 알고 있습니까? 예를 들어, '=SingleCellExtract' 함수가 이제 (1 , 2)를 생성한다고 가정해 보겠습니다. (1+.5 , 2+.5)를 수행하는 셀 옆에 있는 방법이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것은 작동하지만 내 엑셀 속도를 크게 저하시킵니다! 속도를 높이는 데 도움이 되는 팁이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것은 단순히 작동하지 않습니다. 내 응용 프로그램에서 작동하도록 할 수 없었으므로 vba와 수식을 복사/붙여넣기했는데 매번 오류가 반환되었습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
감사합니다. 먼저 성능 저하 없이 이 작업을 수행할 수 있었습니다. 나는 그 텍스트보다 값을 사용하고 있으므로 내 질문은 목록에서 19포인트 미만인 모든 항목을 다시 가져오고 싶다는 것입니다. 단일 셀 Extract가 이에 대해 작동할 수 있습니까? 아니면 특정 값이어야 합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
범위가 154행(예: B154)보다 길면 VB 명령이 중단됩니다....
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
배열 크기를 늘리면 오류 팝업
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
2개의 기준이 일치하는 경우 하나의 쉼표로 구분된 셀에서 여러 조회 값을 반환합니다.
A2=B2 "SingleCellExtract" 범위에서 결과 - 제발.......
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
좋은 아침입니다,

VBA 코드는 내 워크시트에서 매우 명확하고 간단하게 완벽하게 작동했지만 고유한 값만 반환하도록 Excel에 지시하는 방법을 찾고 있었습니다. 이 동일한 코드를 사용하여 가능할까요?
5에서 평가 된 5
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕,

각 값에 대해 쉼표와 공백으로 구분된 여러 값에 대한 정확한 유효성 검사 코드가 필요합니다.

예:
루시, 톰, 니콜, 아카시, 애플

제안 사항이 있으면 다시 재생해 주세요.
4.5에서 평가 된 5
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 마니칸타
여러 값을 쉼표와 공백으로 구분하려면 쉼표 뒤에 공백을 추가하고 수식을 다음과 같이 변경하면 됩니다. =SingleCellExtract(D2,A2:B15,2,",").
시도해보십시오. 도움이 되길 바랍니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 스카이양입니다.

재생해주셔서 감사합니다!

이미 같은 방법으로 시도했지만 셀 값에서 아래에 오는 마지막 하나의 추가 쉼표(,)가 예입니다.

루시, 톰, 니콜, 아카시, 애플,

Json 파일에서는 작동하지 않으므로 아래와 같이 쉼표와 공백으로 구분된 값을 원합니다.

루시, 톰, 니콜, 아카시, 애플

감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, 마니칸타
이 경우 다음과 같은 사용자 정의 함수를 적용할 수 있습니다.

Function MultipleValues(work_range As Range, criteria As Variant, merge_range As Range, Optional Separator As String = ",") As Variant
Dim outcome As String
On Error Resume Next
If work_range.Count <> merge_range.Count Then
MultipleValues = CVErr(xlErrRef)
Exit Function
End If
For i = 1 To work_range.Count
If work_range.Cells(i).Value = criteria Then
outcome = outcome & Separator & merge_range.Cells(i).Value
End If
Next i
If outcome <> "" Then
outcome = VBA.Mid(outcome, VBA.Len(Separator) + 1)
End If
MultipleValues = outcome
Exit Function
End Function


코드를 붙여넣은 후 다음 공식을 사용하세요. =MultipleValues($A$2:$A$15,D2,$B$2:$B$15,", ")

시도해 보세요. 도움이 되길 바랍니다!
여전히 다른 문제가 있으면 여기에 댓글을 남겨주세요.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-return-multiple-matching-1.png
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 스카이양입니다.

현재 작동 중입니다. 빠른 응답에 감사드립니다.

다시 한 번 매우 유용합니다. 도와주셔서 감사합니다.

감사합니다
마니칸타.
5에서 평가 된 5
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
No soy programador pero necesito ayuda para que la función de abajo en lugar de devolverme esto

S-01-08-0017->마이크로 포스트 1R, 블랙, 스테인리스 스틸 -엔드,->4;S-01-08-0057->마이크로 포스트 2R, 블랙, 스테인리스 스틸 -엔드,->2

me devuelva los valores en líneas diferentes.
S-01-08-0017->마이크로 포스트 1R, 블랙, 스테인리스 스틸 -엔드,->4
S-01-08-0057->마이크로 포스트 2R, 블랙, 스테인리스 스틸 -엔드,->2

기능:
함수 SingleCellExtract(문자열로 조회값, 범위로 조회범위, 정수로 ColumnNumber, 문자열로 문자)
'업데이트바이 Extendoffice
흐릿한 I As Long
Dim xRet As String
For I = 1 To LookupRange.Columns(1).Cells.Count
If LookupRange.Cells(I, 1) = LookupValue 다음
xRet = ""인 경우 다음
xRet = LookupRange.Cells(I, ColumnNumber) & 문자
다른
xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
END IF
END IF
다음
SingleCellExtract = 왼쪽(xRet, Len(xRet) - 1)
최종 기능
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 예리님
세미콜론 문자를 기준으로 셀을 여러 행으로 분할하려고 했습니까?
그렇다면 다음 VBA 코드가 도움이 될 수 있습니다.
Sub SplitAll()
    Dim xRg As Range
    Dim xRg1 As Range
    Dim xCell As Range
    Dim I As Long
    Dim xAddress As String
    Dim xUpdate As Boolean
    Dim xRet As Variant
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select a range", "Kutools for Excel", xAddress, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
        If xRg.Columns.Count > 1 Then
            MsgBox "You can't select multiple columns", , "Kutools for Excel"
            Exit Sub
            End If
            Set xRg1 = Application.InputBox("Split to (single cell):", "Kutools for Excel", , , , , , 8)
            Set xRg1 = xRg1.Range("A1")
            If xRg1 Is Nothing Then Exit Sub
                xUpdate = Application.ScreenUpdating
                Application.ScreenUpdating = False
                For Each xCell In xRg
                    xRet = Split(xCell.Value, ";")
                    xRg1.Worksheet.Range(xRg1.Offset(I, 0), xRg1.Offset(I + UBound(xRet, 1), 0)) = Application.WorksheetFunction.Transpose(xRet)
                    I = I + UBound(xRet, 1) + 1
                Next
                Application.ScreenUpdating = xUpdate
            End Sub

시도해보십시오. 도움이 되길 바랍니다!
아직 코멘트가 없습니다
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호