Excelの基準に基づいてテキストを簡単に連結するにはどうすればよいですか?
いくつかの重複を含むID番号の列と名前の列があり、次に、左のスクリーンショットに示すように一意のID番号に基づいて名前を連結し、基準に基づいてテキストをすばやく結合したいとします。 Excelで行いますか?
ユーザー定義関数を使用して、基準に基づいてテキストを連結します
基準に基づいてテキストをKutoolsforExcelで連結します
ユーザー定義関数を使用して、基準に基づいてテキストを連結します
テキストを一意のID番号と組み合わせるには、最初に一意の値を抽出してから、ユーザー定義関数を作成して、一意のIDに基づいて名前を組み合わせることができます。
1。 次のデータを例にとると、最初に一意のID番号を抽出する必要があります。この配列式を適用してください。 =IFERROR(INDEX($A$2:$A$15, MATCH(0,COUNTIF($D$1:D1, $A$2:$A$15), 0)),"")、この数式を空白のセル(たとえば、D2)に入力し、を押します。 Ctrl + Shift + Enter キーを一緒に、スクリーンショットを参照してください:
先端:上記の式では、 A2:A15 一意の値を抽出するリストデータ範囲です。 D1 抽出結果を出力する列の最初のセルです。
2。 次に、塗りつぶしハンドルを下にドラッグして、空白が表示されるまですべての一意の値を抽出します。スクリーンショットを参照してください。
3。 このステップでは、を作成する必要があります ユーザー定義関数 一意のID番号に基づいて名前を組み合わせるには、 Alt + F11 キー、そしてそれは開きます アプリケーション向け Microsoft Visual Basic 窓。
4に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。
VBAコード:基準に基づいてテキストを連結します
Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
'Updateby Extendoffice
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
ConcatenateIf = CVErr(xlErrRef)
Exit Function
End If
For i = 1 To CriteriaRange.Count
If CriteriaRange.Cells(i).Value = Condition Then
xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
End If
Next i
If xResult <> "" Then
xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function
5. 次に、このコードを保存して閉じ、ワークシートに戻って、この数式をセルE2に入力します。 = CONCATENATEIF($ A $ 2:$ A $ 15、D2、$ B $ 2:$ B $ 15、 "、") 、スクリーンショットを参照してください:
6。 次に、この数式を適用するセルまで塗りつぶしハンドルをドラッグすると、対応するすべての名前がID番号に基づいて結合されます。スクリーンショットを参照してください。
ヒント:
1.上記の式では、 A2:A15 に基づいて結合する元のデータです。 D2 抽出した一意の値であり、 B2:B15 組み合わせたい名前の列です。
2.ご覧のとおり、コンマで区切られた値を組み合わせました。必要に応じて、数式のコンマ「、」を変更することで、他の文字を使用できます。
基準に基づいてテキストをKutoolsforExcelで連結します
あなたが持っている場合 Kutools for Excelそのと 高度な結合行 ユーティリティを使用すると、基準に基づいてテキストベースをすばやく便利に連結できます。
Kutools for Excel : 300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます. |
インストールした後 Kutools for Excel、次の手順で実行します。
1。 XNUMXつの列に基づいて、結合するデータ範囲を選択します。
2に設定します。 OK をクリックします。 クツール > マージ&スプリット > 高度な結合行、スクリーンショットを参照してください:
3。 の中に 列に基づいて行を組み合わせる ダイアログボックスで、[ID]列をクリックし、[ 主キー この列を、結合されたデータの基になるキー列にするには、スクリーンショットを参照してください。
4。 そして、 名前 値を結合する列をクリックし、 組み合わせる オプションを選択し、結合されたデータに対してXNUMXつのセパレーターを選択します。スクリーンショットを参照してください。
5。 これらの設定が完了したら、をクリックします OK ダイアログを終了するには、列Bのデータがキー列Aに基づいて結合されています。スクリーンショットを参照してください。
この機能を使用すると、次の問題ができるだけ早く解決されます。
複数の行をXNUMXつに結合し、Excelで重複を合計する方法は?
今すぐExcel用のKutoolsをダウンロードして無料トライアル!
デモ:Kutools for Excelを使用して、別の列の同じセルに基づいてテキストを連結します
最高のオフィス生産性向上ツール
🤖 | Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行 | コードを生成 | カスタム数式の作成 | データを分析してグラフを生成する | Kutools関数を呼び出す... |
人気の機能: 重複を検索、強調表示、または識別する | 空白行を削除する | データを失わずに列またはセルを結合する | 数式なしのラウンド ... | |
スーパールックアップ: 複数の基準の VLookup | 複数の値の VLookup | 複数のシートにわたる VLookup | ファジールックアップ .... | |
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する | 依存関係のドロップダウン リスト | 複数選択のドロップダウンリスト .... | |
列マネージャー: 特定の数の列を追加する | 列の移動 | Toggle 非表示列の表示ステータス | 範囲と列の比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | ビッグフォーミュラバー | ワークブックとシートマネージャー | リソースライブラリ (自動テキスト) | 日付ピッカー | ワークシートを組み合わせる | セルの暗号化/復号化 | リストごとにメールを送信する | スーパーフィルター | 特殊フィルター (太字/斜体/取り消し線をフィルター...) ... | |
上位 15 のツールセット: 12 テキスト ツール (テキストを追加, 文字を削除する、...) | 50+ チャート 種類 (ガントチャート、...) | 40+ 実用的 式 (誕生日に基づいて年齢を計算する、...) | 19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...) | 12 変換 ツール (数字から言葉へ, 通貨の換算、...) | 7 マージ&スプリット ツール (高度な結合行, 分割セル、...) | ... もっと |
Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。 最も必要な機能を入手するにはここをクリックしてください...
Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!