『複数セルの文字列を1セルに結合』(ちな) お世話になります。 低レベルなりに考えましたが、ダメでした 検索値を含む場合、別の列にある複数のセル(文字列)を1つのセルへ結合したいです。 たとえば、 検索値:レモン 結果:あいうえおか (B1&B4&B5) A B 1レモン あい 2ミカン ある 3リンゴ ない 4レモン うえ 5レモン おか 6バナナ ない です。 宜しくお願いします < 使用 Excel:Excel2013、使用 OS:Windows10 > ---- TEXTJOIN関数が使えるバージョンならデフォルトの関数で対応できますが、Excel2013だとそうもいきませんね。 マクロになってしまいますが例えば↓のような【ユーザー定義関数】を作成すれば Function 俺式関数(表範囲 As Range, 検索値 As String, 検索列 As Long, データ列 As Long) As String Dim i As Long Dim buf As String For i = 1 To 表範囲.Rows.Count If 表範囲.Cells(i, 検索列).Value = 検索値 Then buf = buf & 表範囲.Cells(i, データ列).Value End If Next 俺式関数 = buf End Function ↓のような数式で対応できます。 =俺式関数(A1:B6,"レモン",1,2) ご自身のみが使うようなブックであれば採用を検討されてみてはどうでしょうか? (もこな2) 2022/04/07(木) 07:00 ---- 結合する文字列は最大いくつになるだろうか? (ねむねむ) 2022/04/07(木) 08:34 ---- もこな2様 アドバイスありがとうございます。 複数人で共有するファイルであるためマクロだと難しいかもしれません。 大変厚かましいのですがTEXTJOIN関数を用いた場合の関数もご教示いただけますか? ねむねむ様 最大100セル程度の結合が必要です。 宜しくお願いいたします (ちな) 2022/04/07(木) 08:39 ---- >TEXTJOIN関数を用いた場合 繰り返しになりますが、TEXTJOIN関数が使えない場合意味がありませんが、よいのですか? また、例示のように区切り文字を挟まなくてよいなら、作業列を使えばTEXTJOIN関数が使えなくても対処できますね。 手元にPCが無いのでとりあえず考え方だけ。 1. IF関数を使って、A列が検索値と一致したらB列の値、一致しなかったら""を作業列に出力します。 2. 作業列の値を文字列結合します (もこな2 ) 2022/04/07(木) 09:05 ---- TEXTJOIN関数が使える場合でも2019と365・2021でかわってくる。 2019 =TETXJOIN("",TRUE,IF(A1:A100="レモン",B1:B100,"")) 式の入力時、ShiftキーとCtrlキーを押しながらEnterキーで確定(各定時、式が{}で囲まれればOK) 365・2021 =TETXJOIN("",TRUE,FILTER(B1:B100,A1:A100="レモン")) こちらは通常通りEnterで式を確定。 なお2019版は365、2021でも使用可能。 (ねむねむ) 2022/04/07(木) 09:16