TOP

条件によるセル内のテキストの連結 (CONCATIF)

説明

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

Excel は単純な CONCATENATE 関数のみを提供しますが、必要なセルを手動で選択する必要があります。作業を簡素化するには、条件に従って異なるセルのテキストを結合するプロセスを自動化する必要があります。したがって、IF 条件を使用して異なるセルのテキストをすばやく「連結」する必要がある場合は、独自の関数を作成する必要があります。


担保付きローンの表:

CONCATIF 関数の VBA コード

そこで、独自の関数を作成し、それを 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 defined の Function wizard で、CONCATIF 関数を見つけて使用できます。この関数の構文は次のとおりです。

=CONCATIF (検索された値の列; 検索された値; 結合するデータ列)

次の結果が得られます。

最後に、範囲 A2:A10 および C2:C10 をドル記号 ($) でロックして、コピー時に範囲が下に移動しないようにする必要があります。関数。

トピックに関する記事:

  • 異なるセルのテキストを接続する(CONCATENATE)
  • テキストを複数の列に分割する
  • 指定した区切り文字によるテキストの自動分割(SPLITUP)
  • 本文中の文字の一部を選択(LEFT、RIGHT、MID)