Excelの文字列結合について教えてください

このQ&Aのポイント
  • =SUBSTITUTE(TRIM(CONCATENATE(A1," ",B1," ",C1," ",D1))," ","/")の関数を使い、空白のセルがあった場合そのセルを除外して「/」で区切るまではできたのですが、選択セルに英文が入っていると、英文内のスペース部分にまで「/」が挿入されるようになってしまいました。
  • 例えば「A1」のセルに「This is a pen」「B1」のセルに「Boys」と入力されていると、「This/is/a/pen/Boys」と表示されてしまいます。これを「This is a pen/Boys」という風に結合させるには、どうしたら良いでしょうか。
  • Excelの文字列結合の際に英文内のスペースを除外する方法について教えてください。
回答を見る
  • ベストアンサー

Excelの文字列結合について教えてください

Excelの文字列結合について教えてください。 =SUBSTITUTE(TRIM(CONCATENATE(A1," ",B1," ",C1," ",D1))," ","/") 上記の関数を使い、空白のセルがあった場合そのセルを除外して「/」で区切るまではできたのですが、選択セルに英文が入っていると、英文内のスペース部分にまで「/」が挿入されるようになってしまいました。 例えば「A1」のセルに「This is a pen」「B1」のセルに「Boys」と入力されていると、「This/is/a/pen/Boys」と表示されてしまいます。 これを「This is a pen/Boys」という風に結合させるには、どうしたら良いでしょうか。 よろしくお願いします。

noname#125377
noname#125377

質問者が選んだベストアンサー

  • ベストアンサー
  • sekkii
  • ベストアンサー率50% (13/26)
回答No.5

作業列を利用して… 例えば、B1とC1が空白だったとして =SUBSTITUTE(A1," ","●")&" "&SUBSTITUTE(B1," ","●")&" "&SUBSTITUTE(C1," ","●")&" "&SUBSTITUTE(D1," ","●") などの関数で一旦「this●is●a●pen(空白3つ)boys」という風に 文字の間の空白を別の文字にしておいてから =SUBSTITUTE(SUBSTITUTE(TRIM(上の計算をしたセル)," ","/"),"●"," ") でどうでしょう? これなら空白セルが2つ以上続いた場合でも"//"となりません。 もっと上手な方法があったらごめんなさい。

その他の回答 (4)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

TRIM関数を各セルにかければいいのでは? =SUBSTITUTE(CONCATENATE(TRIM(A1),"/",TRIM(B1),"/",TRIM(C1),"/",TRIM(D1)),"//","/") または =SUBSTITUTE(TRIM(A1)&"/"&TRIM(B1)&"/"TRIM(C1)&"/"&TRIM(D1),"//","/")

noname#125377
質問者

お礼

ご回答ありがとうございます。 お礼が遅くなり、もうしわけございません。 mshr1962さんの記載してくださった関数を試したのですが、空白のセルが2つ以上あると「/」が重なってしまいました。 将来的に空白のセルがランダムにある行が出てくると思うので、 もう少し関数を勉強してみます。 ありがとうございました。

noname#204879
noname#204879
回答No.3

=A1&"/"&B1

noname#125377
質問者

お礼

ご回答ありがとうございます。 お礼が遅くなり、もうしわけございません。 mike_gさんが記載してくださった関数ですと、CONCATENATE(A1,"/",B1,"/",C1,"/",D1) と同じ結果になってしまいました。 もう少し関数を勉強してみます。 ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

#1です。そういう事情であれば 私の書いた関数の外側に=SUBSTITUTE((私の書いた式)、”//”、”/”)としては。 セルの最後最初文字に/は無いとして ーー VBAでユーザー関数を作れば、特殊な着眼と言うような、アイデアは要らないが。

noname#125377
質問者

お礼

ご回答ありがとうございます。 お礼が遅くなり、もうしわけございません。 imogasiさんのご回答の関数を使用してみたのですが、空白のセルが2つ以上あると「a b//g」となってしまいました。 空白が1つだけならば上手くいくのですが…。 将来的に空白のセルがランダムにある行が出てくると思うので、 もう少し関数を勉強してみます。 ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

ONCATENATE関数まで判っていて、ここに質問しなければならないのかな。 =CONCATENATE(A1,"/",B1,"/",C1,"/",D1) で A1からD1のデータ a b  - c  - d e f - g に対し a b/c/d e f/g になるよ。

noname#125377
質問者

お礼

ご回答ありがとうございます。 関数に関しては、Excel初心者なのでネットで調べて希望に近い関数を使用させていただきました。 私の質問の仕方が悪かったのですが、imogasiさんのご回答ですと、「C1」のセルが空白の場合「a b/c//g」と空白の部分にも「/」が入ってしまいます。 空白のセルは除外して「a b/c/g」と表示させたいのです。 それで質問にも記載しました関数を使用したのですが、英文内のスペースにまで「/」が挿入されてしまい、その部分をどうにかできないかと思い、質問させていただきました。

関連するQ&A

  • Excelのセル結合

    お願いします。Excel2000です。 複数セルの値を別のセルに結合させ表示させたいのです。 ただしセルの結合時には間にスペースを空け結合させるのが条件です。 たとえば =A1&B1 だとすると結合したセルの値にはスペースが入りません。 また =Concatenate(A1,B1) も結合したセルの値にはスペースが入りません。 どなたか教えていただけませんか? A1(スペース)B1としたいのです。 以上わかりにくい点がございましたらご指摘くださいませ。

  • 文字列の結合、改行、空白削除

    複数のセルを参照して文字列を結合し、2つずつでCHAR(10)で改行し、未入力のセルの空白を削除する方法はありませんか? =SUBSTITUTE(TRIM(A1&" "&B1&CHAR(10)&A2&" "&B2&CHAR(10)&A3&" "&B3&CHAR(10) &A4&" "&B4&CHAR(10)&A5&" "&B5),"","") 現在、上記のような数式を入れて一つのセルに表示させています。 しかし、これだと後半のセルが未入力の場合、空白で表示されるため、表示させるセルの中で結合した文字列が上の方に行ってしまいます。 表示させるセルは縦横共に中央揃えにしたいのですが、何かいい方法はありませんか? まだまだ初心者ですが、いろいろ調べた結果、とりあえず上記の式にたどり着きました。 マクロではなく関数でなんとかなればと考えております。 分かりにくい文章になってしまったかもしれませんが、よろしくお願いします。

  • Excelの文字列検索関数について

    Excel2007で、あるセルに入っている英単語が、別のセル範囲(複数セル)に入っている英文の中にあるかどうか、を調べたいのですが、関数を使って実現できるでしょうか? たとえば、 A1に"This is a pen." A2に"That is a desk" という英文があり、 B1に"bat", B2に"pen"を入れたとします。 この場合、A1~A2に"bat"は存在しないのでC1には"FALSE"が、 A1~A2に"pen"は存在するのでC2には"TRUE"が自動的に入るようにしたいのです。 (TRUE - FALSE でなくても、数字などでもかまいません) FIND関数は単一セルの中の文字列しか検索できないし、 MATCH関数はセル内容が同一でないと結果が出ないのでそのままでは使えません。 何かいい方法はないでしょうか。

  • Excelでの文字列編集(再質問です)

    Excel2003での再質問です。 今、A列~E列に以下の文字が入っています。 A  B  C  D  E 1あ い う え お  2あ   う 上記の内容を「・」で区切りを入れて、F列に結合させたいのですが  F 1あ・い・う・え・お 2あ・う この質問に対しては、以下のご回答をいただき、解決することが出来ました。 =SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1&B1&C1&D1&E1,A1,A1&" "),B1,B1&" "),C1,C1&" "),D1,D1&" "))," ","・") このたび、3列増やし、A~Hまでの計算式を以下で行ったところ、 =SUBSTITUTE(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1&B1&C1&D1&E1&F1&G1&H1,A1,A1&" "),B1,B1&" "),C1,C1&" "),D1,D1&" "),E1,E1&" "),F1,F1&" "),G1,G1&" "))," ","・") 計算式がエラーとなります。ご教示いただけますでしょうか? よろしくお願いします。

  • エクセルの文字列を結合しても、数値の桁区切りが消えないようにするには?

    例えばエクセルで、 「A1」のセルには「定価」、 「A2」のセルには「1000」、 「A3」のセルには「円」という文字が入っていたとします。 このエクセル上の文字列を「=CONCATENATE(A1,A2,A3)」の関数で結合します。 「A2」の書式設定は、数値にして桁区切りにチェックを入れているので、 セルの表示上は「1,000」となっていますが、「CONCATENATE」でセルを 結合した後の結果は以下のようにカンマが消えてしまいます。 CONCATENATE(A1,A2,A3)の結果 ⇒ 定価1000円 これを「定価1,000円」という風に表示させる良い方法はないでしょうか? 宜しくお願いいたします。

  • エクセルでA1のセルの文字にB1のセルの文字を結合できますでしょうか?

    エクセルでA1のセルの文字にB1のセルの文字を結合できますでしょうか? 別のセルに=CONCATENATE(A1,B1)ではなくあくまでA1のセルの文字に B1のセルの文字をつなげたいのです。 出来ますでしょうか? よろしくお願いします。

  • Excelでセルとセルを結合したいのですが・・・

    質問させていただきます。 Excel2007を使っています。 複数のセルを結合して一つのセルにまとめる作業をしているのですが、 =A1&" "&A2&" "A3 のようにすると結合できました。&" "&でスペースも確保できました。 しかし、結合するデータの中に空白があります。 データの中の空白を無視し、スペースを消してほしいのですがどうすればよいかわかりません。 例えば、A1にデータがない場合、スペースが空いてからA2が出てきます。 その空白をなくす方法を教えてください。お願いします。

  • エクセル多数文字列セル結合と改行

    Excel2007を使っています。 セルA1~A100までに文字列が入っています。 これを結合し、セルの終わりごとに改行を入れたいです。 「=CONCATENATE(A1,CHAR(10),A2,......)」とやる以外で、うまくやる方法はありますでしょうか?

  • エクセルで文字列の結合したときのフォントの大きさを指定する。

    続けて質問させてください。ここ何日間かずっと悩んでます。 エクセル2000を使っています。 文字列の結合は「&」か「CONCATENATE」を使えばいいというのはわかったのですが、A1に「AAA」という文字が11pで入っています。B1に「BBB」というのが9pではいっています。これをC1にそのまま結合(Aは11p、Bは9p)したいです。 過去ログは調べたつもりですが、同じものがあったらすみません。あまりエクセルは詳しくないですがよろしくお願いします。

  • 【エクセル】結合した文字列の検索について

    エクセルで、複数セルの文字列を「=A1&A2&A3&…」という感じで、B1セルに結合するとして、 例えばA2の文字列に「★」という文字が含まれているとします。 検索で「★」を指定した場合、A2のものは引っかかるのですが、B1の結合された文字列は引っかかりません。 B1セルの文字列も通常通り検索できるようにするには、B1セルでどのような処理をすれば良いのでしょうか。

専門家に質問してみよう