[[20140905173405]] 『複数のセルの数字を1つのセルに並べる』(ここや) ページの最後に飛ぶ

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

 

『複数のセルの数字を1つのセルに並べる』(ここや)

1234
5678
9101
2131
4151
6171

上記の複数のセルの数字を下記のようにひとつのセルに並べる場合、どのようにしたら楽に入力できますか?

1234; 5678; 9101; 2131; 4151; 6171

計算式はこれを使っています。

=A1&"; "&A2&"; "&A3&"; "&A4&"; "&A5&"; "&A6

< 使用 Excel:unknown、使用 OS:Windows8 >


 現状の方法が一番楽かと。

http://www3.tokai.or.jp/excel/kansu/concatenate.htm

 他にはユーザー定義関数とか。
(カリーニン) 2014/09/05(金) 19:05

 ユーザー定義関数の例です。
 手抜きなので飛び飛びのセルには対応してません。

 '標準モジュール
 Function myconc(ByVal r As Range, moji As String)
  Dim c As Range
   For Each c In r
    If myconc <> "" Then myconc = myconc & moji
    myconc = myconc & c.Value
   Next c
 End Function

 シートに↓を入力

 =myconc(セル範囲,"挟む文字列")

 =myconc(A1:A6,";")
(カリーニン) 2014/09/05(金) 19:14

 過去ログにも同様の回答があったのですが、作業用セルを使う例です。

 A1:A6にデータが入っている場合

 B1=A1
 B2=B1&";"&A2
 B2の式をB6までコピー

 	A	B
 1	1234	=A1
 2	5678	=B1&";"&A2
 3	9101	=B2&";"&A3
 4	2131	=B3&";"&A4
 5	4151	=B4&";"&A5
 6	6171	=B5&";"&A6
(カリーニン) 2014/09/05(金) 20:33

どのような使い方するのか分かりませんが、よくやる方法として
=A1:A6
と入力して、数式のA1:A6の部分を選択して、F9キーを押すと範囲が配列値に変換され
数式バー上で
={1234; 5678; 9101; 2131; 4151; 6171}
となるので、={}を削除すれば、1つのセルに
1234; 5678; 9101; 2131; 4151; 6171
が入力されます。
(wisemac21) 2014/09/05(金) 22:56

 私もカリーニンさん同様、ユーザー関数が一番簡単かなと・・・
 一個準備しておけば楽ですよ!
    Function ConRange(r As Range, dlm As String) As String
        ConRange = Join(Filter(Evaluate("TRANSPOSE(IF(" & r.Address & "<>""""," & r.Address & ",CHAR(2)))"), Chr(2), False), dlm)
    End Function

(稲葉) 2014/09/06(土) 08:55


 複数セル範囲対応版です。

 A1〜A9、B5の値を";"を挟んで連結します。

 =myconc(";",A1:A9,B5)

 Function myconc(ByVal moji As String, ParamArray r() As Variant)
  Dim c As Variant
  Dim cc As Range
   For Each c In r
    For Each cc In c
     If myconc <> "" Then myconc = myconc & moji
     myconc = myconc & cc.Value
    Next cc
   Next c
 End Function
(カリーニン) 2014/09/06(土) 21:02

カリーニンさん、wisemac21さん、稲葉さん、色々ありがとうございました!
かなりのエクセル初心者ですので、ユーザー定義関数は難しいと思われます。
過去ログのやり方でやってみようと思います。
(ここや) 2014/09/08(月) 11:32

コメント返信:

[ 一覧(最新更新順) ]


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