- ベストアンサー
CONCATENATE関数の使い方は?
複数の文字列を結合して 1 つの文字列にまとめるCONCATENATEについて。 下のようにA50セルまでをまとめたいのですが、いちいち全部のセル名を打ち込まなくてもよい簡単な方法をお教えください。よろしくおねがいします。 =concatenate(A1,A2,A3,A4,A5,A6,A7,...,A50)
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 No.1の方の指摘どおり、CONCATENATE関数の引数は最大30個までなので、 それ以上の場合は、「&」で繋げていくしかありません。 で、その場合の記述方法で、簡単かどうかは分かりませんが、以下のようなやり方があります。 データがA1~A50にあって、それを単純に連結するとします。 ・適当なセルに「A1」、その右隣りのセルに「A2」と入力する。 ・その2つのセルを選択して、オートフィルコピーで「A50」まで連続データを作成する。 ・その50個の範囲を選択して、コピーする。 ・適当なテキストエディタ(メモ帳でも可)に貼り付ける。 ・その貼り付けたデータをそのまま全選択してコピーする ・適当なセルをダブルクリックして(編集モードにして)貼り付ける。 ・すると半角スペースで区切られた1行のデータとして貼り付く。 ・このセルを選択して、メニューの[編集]→[置換]で、 [検索する文字列]:「 」(半角スペース) [置換後の文字列]:「&」 として、[全て置換]する。 ・すると、「A1&A2&・・・・・&A49&A50」となるので、先頭に「=」を付けて[Enter]する。 これで、そのセルに、 「=A1&A2&・・・・・&A49&A50」 という数式が入り、実際に連結された結果が表示されると思います。 やり方を飲み込めば、まともに数式を手打ちするよりは簡単かと思います。
その他の回答 (4)
漢字と数値以外なら PHONETIC関数が使えますが =PHONETIC(A1:A50) 数値は 入力前に表示形式を[文字列]にしていた場合は 表示されます。
お礼
ありがとうございました。参考になりました。
- imogasi
- ベストアンサー率27% (4737/17069)
concatenate関数は範囲指定をさせてくれないようです。 そんな使用は予想していないのでしょう。 そこでユーザー関数を作ります。数行です。 ファンクション名のconcは適当に付けられます。 Function conc(a) s = "" Dim cl As Range For Each cl In a s = s & cl Next conc = s End Function シートのメニューでツール-マクローVBEをクリックでVBE画面になります。 そこでメニューの挿入ー標準モジュールをクリックする。 右半分の一番大きい白紙の画面部分に上記をコピーし貼りつけする。 シートに戻りセルへ=conc(A1:A6)と入れる。 結合された文字列が出ます。
お礼
ありがとうございました。参考になりました。
A1:A50 をコピーしてメモ帳に貼り付け タブを編集で取り除いてから 全選択してコピー どこぞのセルの 数式バーに貼り付け でいかがでしょう。さすがにリンクは切れますけど。
お礼
ありがとうございました。参考になりました。
- gloomie
- ベストアンサー率16% (24/146)
自分が知る限りですが、無いように思います。 すべて1つずつ記入していくしかないのでは? あと、A1:A50までって書かれていますが、引数って30個までですよね・・・?(Excel2000) もし、作業列を作っていいのであれば下記の方法はいかがでしょう? B列を作業列とします。 B2に=A1&A2 B3に=B2&A3 B3のセルをB50までフィルドラッグ。 最終的にすべて結合された文字を表示したいセルに=B50 B列は見苦しいかと思いますので非表示にしておけばいいと思います。
お礼
ありがとうございました。参考になりました。
お礼
ありがとうございました。参考になりました。