• 締切済み

Excelの複数のセルを一つに表示する方法その2

以前下記の質問をしましてNo.3を活用しております。 http://oshiete1.goo.ne.jp/qa3502367.html なのですがここで新たな問題が発生しました。複数のセルの中で同じ言葉が入っていた場合その内の1つのみを表示するにはどうしたらいいでしょうか? (例)  A  B 1 a a,b,c 2 b 3 c 4 a 5 c

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 用途にもよりますが、一つのセルに出すということになると、それは、やはりVBAのレベルの処理ではないでしょうか? '------------------------------------- ※標準モジュールへの取り付け方: Alt +  F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。 次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、以下のコードを貼り付けて、 Alt + Q で、画面を閉じます。 Function MYJOIN(rng As Range, Optional delim As String = ",")   'rng: 範囲, delim: デリミタ(区切り文字)   Dim c As Variant   Dim i As Long   Dim buf() As String   Dim t As Variant   Dim j As Variant   If StrComp(TypeName(rng), "Range", 1) <> 0 Then Exit Function   For Each c In rng     If Trim(c.Value) <> "" Then       t = Filter(buf(), Trim(c.Value), , 1)       On Error Resume Next       j = UBound(t)       On Error GoTo 0       If j = -1 Or IsEmpty(j) Then         ReDim Preserve buf(i)         buf(i) = Trim(c.Value)         i = i + 1       End If     End If   Next c   MYJOIN = Join(buf(), delim) End Function '----------------------------------------------- 使い方は、 =MYJOIN(A1:A5) とします。 スペースがあっても、無視されます。 デリミタの部分を変えて、以下のようにすれば、 =MYJOIN(A1:A5,"") abc となります。

micchy1974
質問者

お礼

やはりVBAは避けられないのですね。 上記のコードでやってみます。 ありがとうございました。

関連するQ&A