TOP

조건에 따라 셀의 텍스트 연결(CONCATIF)

설명

해당 보안이 포함된 대출 테이블이 있다고 가정해 보겠습니다. 예를 들어, 각 대출에 대한 담보 목록을 하나의 셀에 표시해야 합니다.

Excel은 간단한 CONCATENATE 함수만 제공할 수 있지만 필요한 셀을 수동으로 선택해야 합니다. 작업을 단순화하려면 조건에 따라 서로 다른 셀의 텍스트를 결합하는 프로세스를 자동화해야 합니다. 따라서 IF 조건을 사용하여 여러 셀의 텍스트를 빠르게 "연결"해야 하는 경우 고유한 함수를 작성해야 합니다.


담보 대출 표:

VBA 함수 CONCATIF에 대한 코드

그럼 우리만의 함수를 만들어서 CONCATIF이라고 부르자. 이렇게 하려면 메뉴 Service - Macros - Visual Basic Editor, VBA 모듈(메뉴 Insert - Module)을 삽입하고 이 함수의 텍스트를 복사하세요. :

Function CONCATIF(Table As Range, SearchValue As Variant, Table2 As Range)
	'moonexcel.com.ua
	Dim i As Integer
	
	For i = 1 To Table.Rows.Count
		If Table.Cells(i, 1) = SearchValue Then
			If Not IsEmpty(Table2.Cells(i, 1).Value) Then
			    CONCATIF = CONCATIF & Table2.Cells(i, 1).Value & "; "
			End If
		End If
	Next i
	
	CONCATIF = Left(CONCATIF, Len(CONCATIF) - 2)
End Function

Visual Basic Editor을 닫고 Excel로 돌아갑니다.

이제 User definition 카테고리의 Function wizard에서 CONCATIF 함수를 찾아 사용할 수 있습니다. 이 함수의 구문은 다음과 같습니다.

=CONCATIF (조회값 열; 조회값; 결합할 데이터 열)

우리는 다음과 같은 결과를 얻게 될 것입니다:

마지막으로 함수를 복사할 때 범위가 아래쪽으로 이동하지 않도록 A2:A10 및 C2:C10 범위를 달러 기호($)로 잠가야 합니다.

주제에 관한 기사: