こんにちは。
>たとえばセルが100個もあった場合はおそろしく長い式になり、書く気力がわきません。
>=A1&A2&A3&A4&A5&A6
それは、VBAのJOIN関数をワークシートで実現したいという、時々ある質問ですが、純粋にExcelだけで実現することに意義を感じていないので、私は真剣に考えたことがありません。
実務的考えれば、Excelの外でエディタなどで、タブを抜いてしまえばよいでしょうし、中黒点を入れるなら、タブを「・」に置換してしまえばよいと思います。
数式でも、ひとつふたつセルに数式を文字として入れておいて、Excelのオートフィルでドラッグして、後はエディタで置換すればいくつでも作れてしまいます。
<正規表現置換>
横なら、\t -> &, 縦なら、\n -> &
=A1&A2&A3&A4&A5&A6&A7&A8&A9&A10&A11&A12&A13&A14&A15
&A16&A17&A18&A19&A20&A21&A22&A23&A24&A25&A26&A27&A28&A29&A30
=A1&IF(A1<>"","・","")&A2&IF(A2<>"","・","")&A3
&IF(A3<>"","・","")&A4&IF(A4<>"","・","")&A5
&IF(A5<>"","・","")&A6&IF(A6<>"","・","")&A7
&IF(A7<>"","・","")&A8&IF(A8<>"","・","")&A9
&IF(A9<>"","・","")&A10&IF(A10<>"","・","")&A11
&IF(A11<>"","・","")&A12&IF(A12<>"","・","")&A13
&IF(A13<>"","・","")&A14&IF(A14<>"","・","")&A15
&IF(A15<>"","・","")&A16&IF(A16<>"","・","")&A17
&IF(A17<>"","・","")&A18&IF(A18<>"","・","")&A19
&IF(A19<>"","・","")&A20&IF(A20<>"","・","")&A21
&IF(A21<>"","・","")&A22&IF(A22<>"","・","")&A23
&IF(A23<>"","・","")&A24&IF(A24<>"","・","")&A25
&IF(A25<>"","・","")&A26&IF(A26<>"","・","")&A27
&IF(A27<>"","・","")&A28&IF(A28<>"","・","")&A29
&IF(A29<>"","・","")&A30&IF(A30<>"","・","")
そういう趣旨のご質問でないのでしたら、後は、ユーザー定義関数を作ればよいかと思います。一般VBAと同じ扱いではないユーザー定義関数を組み込み方も方法はありますが、それは、merlionXXさんに説明は必要ないと思います。
なお、#1 でimogasiさんが、記憶にないと書かれていますが、私は、某掲示板で、何度かであって、最後に、この質問内容で、相手の方が、VBAのJOIN関数を使ったユーザー定義関数は認めながらも、最終的に、私の何種類かの解決策を全て否定されたので、それ以来、まともに考える気がしません。業務の効率化とExcelの数式の解法とは必ずしも一致しない、というところでしょうね。
お礼
多少はVBAもかじっているのですが、ユーザー定義関数は馴染み薄です。 =StrADD(A1:A100,"・") すごいですね!"・"を変えれば、随分応用がききますね! とても助かりました。 有難うございます。 (o。_。)oペコッ.