- 締切済み
エクセルで他のセルの文字と結合させたい
御世話になっております 状況は A列に市町村名を入力します。 B列に符号を入力します。 このときにB列で符号を入力した時にA列の市町村名と結合させて表示したいです。 例としては A1に『港区』B1に『A』と入力して,B1に『港区A』と表示させる 同様にA2に『江東区』B2に『S』と入力して,B2の表示が『江東区S』となるようにしたいです AとB列を入力セルにしてC列で関数を使って結合させる方法は思いつくのですが,そうでなく出来る方法を探しています。 よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- NIWAKA_0
- ベストアンサー率28% (508/1790)
どうも、どうしたいのかイマイチわからないのですが・・・ 単純にA列とB列の間の罫線を消せば、 見た目は「港区A」とか「江東区(空白)」とかになりますよね? A列とB列が離れているというのであれば、A列を呼び出す列を B列の隣に追加すればいい。 B列に入力してB列に表示させなきゃならない理由が なにかあるのですか?
- hotosys
- ベストアンサー率67% (97/143)
VBAで処理する場合。 Sheet1の場合。 [ツール][マクロ][Visual Basic Editor]でVBE画面が表示する。 左側にSheet1(Sheet1)と言う表示をダブルクリック。 表示されたウインドウに以下をコピー。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then Target.Offset(0, 1).NumberFormatLocal = """" & Target.Value & """@" End If End Sub
お礼
お礼が遅くなりました やはりマクロなどに頼らざるえないのでしょうか? 参考にさせていただきます。ありがとうございました。
- Masa2072
- ベストアンサー率51% (94/182)
継続的に使うならマクロ、マクロを使うのが嫌なら「形式を選択して貼り付け」、どちらも嫌というの無理なような気がしますが・・・ 参考までにマクロを使うならこんな感じかな 以下のマクロを使用するWorksheetモジュールに記述 Dim Macro As Boolean '二重起動防止用フラグ Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 And Macro = False Then '変更されたセルがB列でこのマクロが実行されていない状態 If Not IsEmpty(Target) Then '変更されたセルが空でなければ Macro = True 'マクロの二重起動を防ぐためフラグを立てる Target = Target.Offset(0, -1).Value & Target.Value 'A列とB列を結合しB列に格納 Macro = False '次回のマクロ実行用にフラグをリセット End If End If End Sub
お礼
お礼が遅くなりました やはりマクロなどに頼らざるえないのでしょうか? 参考にさせていただきます。ありがとうございました。
- mahaze
- ベストアンサー率29% (217/731)
concatenateと同様の機能ですが、C列に「=A1&B1」と入れても文字列結合できます。 B列に符号を入れてB列に表示するというのは難しいかと思います。
お礼
やはり難しいのでしょうか 出来ればと思い投稿したのですが,,, ありがとうございました
- Meuniere
- ベストアンサー率30% (22/72)
まぁ、一番単純な方法としては。 A1に、「港区」 B1に、「A」 C1に、「=CONCATENATE(A1,B1)」で、文字列は「港区A」に。 関数が入った状態が駄目なら、別のセルにC1をコピー、値貼り付け。 こんなもんでしょうか。 マクロを作成すればもっと簡単にいけるのかな。
補足
早速ありがとうございます ご回答の用にC列にCONCATENATEの関数を使用する方法は思いついたのですが,それ以外の方法を探しています。 マクロは組んだことがないので分からないので・・・ よろしくお願いします。
- neKo_deux
- ベストアンサー率44% (5541/12319)
> AとB列を入力セルにしてC列で関数を使って結合させる方法は思いつくのですが, こちらをコピー。 編集-形式を指定して貼り付けで「文字列」としてB列に貼り付け。 不要になったC列を削除。 では。
補足
早速ありがとうございます。 継続的に入力をしていく表なので,出来ればAとB列を入力した時点でできる方法を探しています。 それと,書き忘れましたが,A列に入力があっても,B列に入力が無い場合があるので,このときはB列は無表示にさせたいです。
お礼
お礼が遅くなりました 確かにこのような方法や別に合成させる為のセルを作れば済むのですが,計算式等全面的にいじらなければならなくなるので,簡単にできる方法があればと思い質問しました。