• ベストアンサー

エクセルのセル内の文字数によって改行する

エクセルのセル内の文字数によって改行する ことはできますか? A列にずらっと会社名が入力されています。 その会社名の文字数が10文字以上なら、「株式会社」の後ろで改行させたいのですが、方法はありますか? 株式会社 ABCDEF(スペースも含めて11文字)   ↓ 株式会社 ABCDEF というような感じです。 9文字以下の時は、そのまま横並びの状態にしておきたいです。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 一例です。 A列の2行目から必要データが入っていて、B2セル以下に表示させるとします。 株式会社・有限会社 のどちらにも対応できるようにしてみました。 B2セルの書式設定の表示形式の「配置」タブで「折り返して全体を・・・」にチェックを入れておきます。 B2セルの数式を =IF(LEN(A2)>9,LEFT(A2,FIND("社",A2))&CHAR(10)&MID(A2,FIND("社",A2)+1,10),A2) としてオートフィルで下へコピーではどうでしょうか? 尚、次の行は「社」の後の空白から表示されてしまいますので 必ず「社」の後には空白がある!というのであれば 数式を =IF(LEN(A2)>9,LEFT(A2,FIND("社",A2))&CHAR(10)&MID(A2,FIND("社",A2)+2,10),A2) にしてみてください。 (エラー処理はしていません) 以上、参考になれば良いのですが 他に良い方法があれば読みまがしてくださいね。m(__)m

hi-hihi
質問者

お礼

早速の回答ありがとうございました! 正直関数の意味はよくわかっていませんが、そのままコピーさせていただき無事できました!! 感激です。 ありがとうございました。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

A1セルから下行に会社名があるとしたらB1セルに次の式を入力して下方にオートフィルドラッグします。 =IF(A1="","",IF(LEN(A1)<10,A1,IF(LEFT(A1,4)="株式会社","株式会社"&CHAR(10)&TRIM(MID(A1,5,20)),A1))) なお、B列を選択して右クリックし「セルの書式設定」から「配置」のタブで「折り返して全体を表示する」にチェックを付けます。

hi-hihi
質問者

お礼

早速の回答ありがとうございました! こちらでもできました! 本当に素晴らしい。 ありがとうございました。

関連するQ&A