[[20210121143751]] 『一番簡単に任意の文字を結合する方法』(nao77) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『一番簡単に任意の文字を結合する方法』(nao77)

こんにちは

エクセルで、関数またはマクロを使って用意したものを
結合していくうえで間に「|」を入れたいです。

「&」で結合する方法と「concatenate」ですると結合する対象が多いとき
面倒でした。

例)
aaa
bbb
ccc
と行や列で用意したものを結合して
aaa|bbb|ccc

と一つにしたいです。
何か良い方法があればお願い致します。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


そういう目的のTEXTJOIN関数は、Excel365ベースのExcel2016以降のようですね。
Joinを使ったユーザー定義関数を作ってはどうかと思います。
(これから外出するので今は無理。どなたか回答されるでしょう)
(γ) 2021/01/21(木) 14:59

y さん
ご回答ありがとうございます。
2016のエクセルではtextjoin関数がなく使用できませんでした。

お忙しい中ご連絡頂き誠に有難うございます。

引き続き回答をお待ちさせて頂きます。
(nao77) 2021/01/21(木) 15:10


というわけで回答です。(編集被りため一部話が重複しています)

Excel2016とのことですが、お使いのものは↓のどれに該当しますか?
http://officetanaka.net/excel/excel2016/01.htm
買い切り型でない場合は、TEXTJOIN関数について調べてみるとよいとおもいます。

買い切り型だった場合は、「またはマクロ」と仰っているので、ワークシート関数のTransposeを利用してセル範囲から、1次元配列として取得したうえでJOIN関数でつなげればよいでしょう。

    Sub さんぷる()
        Debug.Print Join(WorksheetFunction.Transpose(Range("A1:A3").Value), "|")
        Debug.Print Join(WorksheetFunction.Transpose(WorksheetFunction.Transpose(Range("A1:C1").Value)), "|")
    End Sub

(もこな2) 2021/01/21(木) 15:11


この手のものは検索すればたいてい方法が見つかります。

例えば、

textjoin関数の使い方とExcel2013以前の古いエクセルで使う方法 https://www.excelspeedup.com/textjoin2/

上記に代替のユーザー定義関数があります。
(hatena) 2021/01/21(木) 15:46


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.