- ベストアンサー
EXCEL 文字間に関数
例えば、 横の3つのセルに下記単語を入れて、 |私は|鈴木|です。| と作成した場合、真ん中の"名前"セルを読み込み{=(A1)関数などで}で替えたい場合にセルで区切っていると名前が消えたり、長い名前の人用にセル幅を変えてしまうと、 |私は|鈴木 |です。| と言った具合に"名前"と"です"の間に余計なスペースが空いてしまうので、 |私は|鈴木|です。| |私は|神宮司|です。| といった具合に名前(単語)の長さが可変しても違和感ない文間にしたいのですが、何か良い案はあるのでしょうか。 わかりにく文章で恐縮ですが、よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
基本的にエクセルには関数で表示される文字列の列幅を自動的に変更するような機能はありません。 このようなケースでは3つのセルを1つに結合する必要があります。 =A1&B1&C1 または =CONCATENATE(A1,B1,C1) 前後の文字列が固定なら、以下のような数式で表示します。 ="私は"&B1&"です" 上記の操作で不都合がある場合は、どのような目的でそのような表示がしたいのか(目的によって最も効率的な操作が違います)、もう少し具体的にご希望の処理内容を例示してください。
その他の回答 (4)
- chochobizo
- ベストアンサー率42% (30/70)
セルの「書式設定」-「配置」で ”縮小して全体を配置する” にチェックを入れると、長いデータは縮小されますけど・・ みなさんのご指摘のように セル幅を自動的に変動できないので、 根本的な解決は難しいかもしれませんね。 なぜ、そうしたいのか、最短文字と最長文字の差はどのくらいあるのか などを記載すれば、代替案が出るかもしれませんよ。
- DIooggooID
- ベストアンサー率27% (1730/6405)
ご希望をかなえるには、各行ごとにセル幅を変更しなければなりません。 表示用に 別のセルを使用することはできませんか? A1 B1 C1 |私は|鈴木|です。| のような場合でしたら、 D1セルに =A1&B1&C1 とする方法です。
- FEX2053
- ベストアンサー率37% (7991/21371)
書き込む先のセルを「E1」、文字列全てのデータは「A1」「B1」「C1」に あるとして =A1&B1&C1 こうすれば、F1以降にデータが無ければ、隣のセルまで続いてデータを表示してくれます。 これは、単にセルに文字列を書きこむ場合も同じで、隣のセルが未入力だった場合、Excelは そのまま左のセルの文字列を続けて表示する仕様になっています。
全部つなげて、 ="私は"&A1&"です。" にしてしまうのはどうでしょう?
お礼
=A1&B1&C1 でやりたい事ができました! ありがとうございました。