No.3ベストアンサー
- 回答日時:
こんにちは。
>もっと簡単な式で同じ結果を出す方法は無いでしょうか?
「&」演算子を使う以外には、基本的にはないと思います。
領域を統合するという関数は、ワークシートには用意されていません。名前は、たぶん、JOINという名が付けられるはずですが、それは未だ採用されていません。
Concatenate関数は、別にExcel用にあるのではなく、他機種が、「&」演算子が使えないためにあるだけに過ぎません。
そこで、myJoin というユーザー定義関数を考えてみました。
設定の仕方
Alt + F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。
次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、このコードを貼り付けて、再び、Alt + F11 で、画面を閉じます。
ただし、登録したブックのみの有効です。
'<標準モジュール>
Function myJoin(範囲 As Range, Optional 区切り文字 As String) As Variant
Dim c As Range, buf As String
If 範囲.Rows.Count = 1 Or 範囲.Columns.Count = 1 Then
For Each c In 範囲
buf = buf & 区切り文字 & c.Value
Next c
If 区切り文字 <> "" Then
myJoin = Mid$(buf, 2)
Else
myJoin = buf
End If
Else
myJoin = CVErr(xlErrRef) 'エラー値
End If
End Function
使い方:
=MYJOIN(A1:A20)
=MYJOIN(A1:A20,",")
とすると、「,」区切りで出てきます。
必ず、縦1列か横1行の範囲を指定してください。
どちらか一方が2列か2行以上の場合は、エラーが出ます。
汎用的にどこにでも使いたい場合は、アドイン化しなければなりません。マクロが少し分る方の、Public ステートメントをつけるというのは良くある誤解です。
ありがとうございます。
マクロ試してみましたが、思った通りの結果が得られました。
区切り文字の指定など、気を利かせて頂きとても便利です。
No.4
- 回答日時:
ユーザー定義の関数を作れば可能ですが...
Alt+F11でVisualBasicEditorを起動して
「挿入」「モジュール」でモジュールを作成(既に有る場合はこの作業は不要)
モジュールに下記のコードを作成
Function concat(HANI As Range)
Dim Sx, Sy, Ex, Ey As Long, WKS As String
Sx = HANI.Columns.Column
Sy = HANI.Rows.Row
Ex = HANI.Columns.Count - Sx + 1
Ey = HANI.Rows.Count - Sy + 1
For Hx = Sx To Ex
For Hy = Sy To Ey
WKS = WKS & Cells(Hy, Hx)
Next Hy
Next Hx
concat = WKS
End Function
=concat(A1:A20)
で結果を出せます。
※複数列の場合は行方向を先に連結します。
逆がいい場合はFor..to..Next文の順番を変えてください。
No.1
- 回答日時:
この回答への補足
ありがとうございます。
「&」の入力から「,」の入力になって、入力しやすくはなるのですが…
例えば、A1:A20で指定すると文字列を繋げる、というようなモノを求めているのですが、無いでしょうか…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) 関数を用いて表示したセルの内容を、見えている形でコピーする方法 2 2022/09/14 16:36
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/15 08:30
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Excel(エクセル) 一つのセルに複数の関数を入力する方法 4 2022/09/30 13:42
- Excel(エクセル) エクセルで教えて下さい。 2 2022/05/18 13:00
- Excel(エクセル) エクセルのことで教えてください。 A1セルに、 別シートのA1セルが1のときは「A」、2のときは「B 4 2023/02/24 23:08
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) 【EXCEL】=セル&セルが上手く表示できない。 7 2022/09/04 21:32
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
二酸化炭素の混成軌道の図を教...
-
ジクロロベンゼンの双極子モー...
-
共役or非共役の見分け方
-
CH3ClとCH3Fの双極子モーメント
-
π電子の数え方
-
c2h2の電子式と構造式について...
-
硫酸銅はなぜ5水和物3水和物1水...
-
p軌道の「+」「-」とは?
-
科学反応式の結合手の数を教えて!
-
塩化ナトリウムはなぜ共有結合...
-
カチオンとアニオンとは?
-
硫酸銅五水和物について
-
オゾンの配位結合について
-
生成するポリマーラジカルの反応性
-
HCHOの「C=O」の結合軌道につ...
-
[化学]HCl(塩化水素)は共有結合...
-
孤立電子対にも結合双極子があ...
-
Excelで結合されたセルを参照し...
-
π結合を持つ物を次の内から選べ...
-
高校生です。 化学の質問です。...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
共役or非共役の見分け方
-
カチオンとアニオンとは?
-
二酸化炭素の混成軌道の図を教...
-
高校生です。 化学の質問です。...
-
選択クエリで空欄のテーブルが...
-
p軌道の「+」「-」とは?
-
塩化ナトリウムはなぜ共有結合...
-
π電子の数え方
-
硫酸銅はなぜ5水和物3水和物1水...
-
c2h2の電子式と構造式について...
-
セルを結合するマクロで表示さ...
-
アセトン
-
アレンの分子軌道構造式
-
化学の1次結合,2次結合について
-
ジクロロベンゼンの双極子モー...
-
エクセルで大きな括弧()の方法
-
非局在化電子の有無判断 sp2,...
-
C3H9Nの構造異性体をすべて書け...
-
フェナントレンの共鳴構造式い...
-
硫酸銅五水和物について
おすすめ情報