エクセルの質問です。

(「 」→一つのセルを表しています。)

A1「 」B1「 」
A2「 」B2「 」

に入っている文字もしくは文章を
他のセルに自動で表せるようにしたいので、
=if(A1="","",A1)
=if(B1="","",B1)


と式を作り、コピー先のシートの4つのセルに入れたのですが、
A1が長い文章の場合、B1のセルにも式が入っているため、途中で文章が途切れてしまいます。

それでセル4つを結合させて、セル内で改行しました。
しかし、他のセルでは1行になってしまい、同じように表現できませんでした。

上記のような状況で、他のセルに表現するには、どうしたらよいでしょうか。
急ぎで回答頂けると助かります。
よろしくお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/03/21 05:46:27
  • 終了:2010/03/21 18:20:33

回答(6件)

id:GreenStar No.1

GreenStar回答回数192ベストアンサー獲得回数462010/03/21 05:57:52

ポイント17pt

「セルの書式設定」の「配置」にて

・折り返して全体を表示する(セルの高さが自動的に変わるので全体のバランスがくずれます)

・縮小して全体を表示する(長い文字列だとフォントサイズが小さくなりすぎて読めなくなります)

のいずれかにチェックを入れます!! どっちかしか選べません!!


下記は2007の画面ですが2000とか古いものでも同じ手順で操作できます!!

http://www.excel-img.com/format10.html

id:misato19802

その方法では、当初のセルと同じように表現できません。

2010/03/21 06:31:53
id:taknt No.2

きゃづみぃ回答回数13539ベストアンサー獲得回数11982010/03/21 06:22:16

ポイント25pt

>A1が長い文章の場合、B1のセルにも式が入っているため、途中で文章が途切れてしまいます。

これは 見た目だけの問題です。

セルの幅、高さは 結合しようがしまいが、限界は 同じです。

幅をいくら広げても 255までしか広がりません。

エクセルでは 隣のセルに何も入っていないと そこに表示させることが可能です。

なので すぐ隣のセルに値を入れるのではなく、いくつか 離したところに 値を入れたらいいでしょう。

id:misato19802

言葉足らずですみません。

印刷するときに、文字が途切れてしまうということを表現したかったのです。

原本のシートと同じように自動的に表現し、印刷も同じようにしたいと考えています。

2010/03/21 06:34:25
id:taknt No.3

きゃづみぃ回答回数13539ベストアンサー獲得回数11982010/03/21 06:42:13

ポイント1pt

印刷するときに 途切れてしまうのは、よくあることです。

対策は 画面上で、セルの幅を余分に 幅をとる。

セルの高さも 1行分空白の行をとる。

ぐらいしかありません。

プレビューで 確認して 何度かやりなおすといいでしょう。

id:misato19802

原本のシートの形を変えることはできないので、写しのシートもそういう調整はできません。

一般的なことは試しており、できれば関数等で、解決したいと考えています。

2010/03/21 06:59:24
id:GreenStar No.4

GreenStar回答回数192ベストアンサー獲得回数462010/03/21 06:48:33

ポイント1pt

長い文章が最大でどの程度になるかを想定! 最初からセルの大きさやフォントサイズなどを変えたシートを用意しておくのが通例!!

回答1は想定外の長さでデザインが狂う場合の予防策!!

原本のシートと同じように自動的に表現

それは無茶というものです! Excelは、いえ、コンピュータは万能ではありません!!

「セルの書式設定」や「印刷の設定」などの各種設定全般を「原本のシートと同じように設定するマクロ」を作るしかありませんが、作成や動作確認にどれだけの時間を要するか判りません!!

原本のシートをコピーして穴埋め! 作業手順を見直すのが良いでしょう!

id:misato19802

関数で近い方法まで紹介しているサイトがあったのですが、

若干うまくいきませんでした。

作業手順を見直すかどうかは、最後まで質問を待って考えます。

2010/03/21 07:03:25
id:airplant No.5

airplant回答回数220ベストアンサー獲得回数492010/03/21 09:51:51

ポイント23pt

書式が「折り返して全体を表示する」の場合、【=B1】のように値を式で書いてある場合に行幅が自動的に広がらないという問題と思います。


これはExcelの仕様なので、手動で広げるしかありません。

ただし、手動での広げ方は簡単です。

  1. 該当行を選択(左上の隅を選択して、全行を選択するのが簡単)
  2. 行番号の付近に持っていくと列幅変更のアイコンになるので、ダブルクリックする
  3. 自動で全部の行幅がジャストフィットに変更される

もし、面倒であれば、上記の操作をマクロにしてもいいと思います(マクロの記録で簡単にできる)

なお、印刷でずれる場合の調整は、ジャストフィット後にマクロで1~2行程度余裕をつけるやり方を取っています。

    '必要箇所を下記のようなコードでループを回す
    Rows("7:7").RowHeight = Rows("7:7").RowHeight + 10
id:misato19802

そのやり方ですと、幅とかが原本と違うことになるんですよ、

2010/03/21 17:30:56
id:Baku7770 No.6

Baku7770回答回数2832ベストアンサー獲得回数1812010/03/21 11:20:47

ポイント43pt

 何故、元のシートをそのまま使わないか疑問なんですけど。

 

 普通、元のシートを印刷するか、元のシートを複写してそれを加工しますがその辺はどうなって

いるのでしょうか。

 

 確実に枠内の全てを印刷するようにしたければ、

①セルの書式設定でフォントをMSゴシック或いはMS明朝の当幅フォントにする

②連結した文字列をLen関数で文字数を確認しながらLeft、Right関数を使って1行分

 ずつ抽出していく

 といった感じになりますが。

id:misato19802

なぜかと申しますと、

写しのシートの構成が、

追追

原追

のところもあれば、

追追

追原

のところもあり、シートは20ページにも及びます。

追加:追加記事

原本:原


一方、再度セルを先ほど結合して表示したところ、

一列だった内容が、改行されていました。

どういう理由で改行されているかはわかりませんがご存知の方いらっしゃれば教えてください。

2010/03/21 17:30:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません