![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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 ステートメントをつけるというのは良くある誤解です。
この回答へのお礼
お礼日時:2005/08/30 12:35
ありがとうございます。
マクロ試してみましたが、思った通りの結果が得られました。
区切り文字の指定など、気を利かせて頂きとても便利です。
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
塩化ナトリウムはなぜ共有結合...
-
c2h2の電子式と構造式について...
-
酢酸ビニル(高校化学I)
-
カチオンとアニオンとは?
-
硫酸の配位結合について 参考書...
-
高校生です。 化学の質問です。...
-
セルを結合するマクロで表示さ...
-
樹脂と蝋の違いとは?
-
π電子の数え方
-
Excelで結合されたセルを参照し...
-
エクセルで大きな括弧()の方法
-
分子径について
-
酸素の結合について
-
化学II 熱可塑性樹脂と熱硬化...
-
硫酸銅はなぜ5水和物3水和物1水...
-
二酸化炭素の混成軌道の図を教...
-
非局在化電子の有無判断 sp2,...
-
化学の1次結合,2次結合について
-
C3H7OHの示性式をCH3CHCH3OHと...
-
なぜNH4CLと(NH4)SO4非金属元素...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
塩化ナトリウムはなぜ共有結合...
-
カチオンとアニオンとは?
-
高校生です。 化学の質問です。...
-
二酸化炭素の混成軌道の図を教...
-
c2h2の電子式と構造式について...
-
共役or非共役の見分け方
-
π電子の数え方
-
エクセルで大きな括弧()の方法
-
選択クエリで空欄のテーブルが...
-
真空管回路の カソード フォロ...
-
セルを結合するマクロで表示さ...
-
なぜトランスデカリンは環反転...
-
化学の1次結合,2次結合について
-
Excelで結合されたセルを参照し...
-
硫酸銅はなぜ5水和物3水和物1水...
-
イオンの見分け方
-
酸素の結合について
-
化学基礎、分子式について。 長...
-
p軌道の「+」「-」とは?
-
アンモニアのN-H結合角
おすすめ情報