- 締切済み
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
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 用途にもよりますが、一つのセルに出すということになると、それは、やはり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 となります。
お礼
やはりVBAは避けられないのですね。 上記のコードでやってみます。 ありがとうございました。