TOP

セル内のテキストを条件で接続する (CONCATIF)

説明

対応する担保が付いたローンの表があるとします。たとえば、各ローンの担保のリストを 1 つのセルに表示する必要があります。

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 に戻ります。

さて、カテゴリの Function wizard にあります User define CONCATIF 関数を見つけて使用してください。この関数の構文は次のとおりです。

=CONCATIF ( 検索された値が含まれる列 ; 検索値 ; 結合するデータを含む列

次の結果が得られます。

最後に、範囲を修正する必要があります A2:A10 そして C2:C10 ドル記号 (ドル) 、関数をコピーするときに範囲が下に移動しないようにします。

トピックに関する記事: