|
A | B | C | D |
123 | 가 |
|
|
124 | 나 |
|
|
123 | 다 |
|
|
<시트 2>
A | B | C | D |
123 | 결과 |
|
|
124 |
|
|
|
125 |
|
|
|
이때 시트2에 B열에 시트 1열의 B값을 찾아 넣고 싶습니다.
저는 일반적으로 VLOOKUP 함수를 이용하여 찾아 넣고 있습니다.
시트2의 B2셀(핑크색셀)에 =VLOOKUP($A1,Sheet!1$A$1:$B$3,2,0)
하지만 VLOOKUP함수는 중복되는 값이 있을때는 결과값을 아예 나타내지 않는 것 같습니다.
(예를들어 위 표를 가지고 제가 찾고자 하는 결과는 시트1에서 123이란 값이 가지고 있는 B열의 값입니다.
이때, B의값이 중복되었다면 중복된 값을 모두 나타내고 싶습니다.
즉, 시트2에 B2셀(핑크색셀)에 결과값으로 "가,다"이렇게 나왔으면 합니다.)
------------------------------------------------------------------
답-----
안녕하세요?
그런 경우에는 VBA(매크로)를 사용하여 [사용자정의 함수]를 만들어서 사용하시는 편이효율적입니다.
따라서, 혹시 VBA(매크로) 등에 관심이 있으시면, 아래를 참고해 보시기 바라며 ....
=ConcatText(Sheet1!A1:A3,A1,Sheet1!B1:B3)
액셀에서 alt+f11 누른후 아래함수 모듈 등록 => 저장을 매크로를 포함한 통합문서로해야함.
Function ConcatText(범위1, 조건, 범위2) As String
Dim strTemp() As String
Dim rng As range
Dim i As Integer, n As Integer
n = 범위2.Column - 범위1.Column
For Each rng In 범위1
If rng = 조건 Then
ReDim Preserve strTemp(i)
strTemp(i) = rng.Offset(, n)
i = i + 1
End If
Next rng
ConcatText = Join(strTemp, ",")
End Function