• ベストアンサー

エクセルのセル内の複数行表示

あるセルで除算を行い余りが出た場合、一つのセルの中で、 1行目 余りが○○ 2行目 ●●●● と、表示させています。 余りが出ない場合は、縦位置を中央揃えにして真ん中に1行●●●●とだけ表示させたいのです。 IF関数とBLANKを使ってみたのですが、余りが出ない数字を入れると#NAME?となってしまいます。 ちなみに、 =IF(A1=0,BLANK,余りが○○)&●●●● という感じで書いています。 複数行にするためには、「折り返して全体を表示する」にチェックを入れて、余りが○○の後ろにスペースを入れて調整しています。 分かる方、教えていただけませんか?

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.5

>CHARって、ASCIIコードの文字を返してくるんですよね? そうですね。 CHAR(49)="1"、CHAR(65)="A" のようになります。ワークシートではCHAR(32)以降は使うかもしれませんが、~31まではコントロールコードで、ワークシートで単独に使うと『・』が表示されることが多いです。 >CHAR(10)は、どのような文字を返してくるのでしょうか? ラインフィードの機能になります。改行コードです。LFと略されることが多いです。 >またこのようなASCIIコードってどうやって調べられているのでしょうか? >CODEを使ってみたけど、どうもいまいちしっくり来ない感じがして。 0~31(16進数で1Fまで)までのコントロールはテキストを直接操作したり、(昔、)プリンタに印刷命令を送る時に頻繁に使っていました。 下にあげた定数はVisual Basic for Applications のタイプライブラリで定義されており、 『MsgBox "エラーが発生しました。" & vbLf & vbLf & "中止します!"』のようにして使っています。   vbCrLf=Chr(13) + Chr(10)=キャリッジリターンとラインフィードの組み合わせ   vbCr=Chr(13)=キャリッジリターン   vbLf=Chr(10)=ラインフィード   vbTab=Chr(9)=タブ   vbBack=Chr(8)=バックスペース    VBAなのでChr()になります。ワークシート関数はCHAR()です。 コード自体は『アスキーコード表』、『ASCIIコード表』などで検索すれば一覧が分かると思います。 >2002ponさま  >私も、  >>CHAR(10)を追記することで改行します。  >と思ったんですが、できませんでした。  >2002です。 式『="A"&CHAR(10)&"B"』を入力しても、『A・B』が表示されるだけだと思います。 この状態で、セルの書式設定→折り返して全体を表示する にチェックをすると2行で表示されるはずです。 また、セルA1にABと入力して、AとBの間をAlt+Enterで改行してみます。 この状態で、  LEN(A1)=3、CODE(MID(A1,2,1))=10 になります。Alt+Enterでコード"10"を挿入しているのが分かります。 (Excel2000ではこうなりました) 説明になったでしょうか?

intruder
質問者

お礼

すごくためになりました。 質問内容に対する回答はもう十分すぎるほどです。 再度質問を返したい気分ですけど、これ以上高度だとちょっと理解に苦しみそうなので締め切らせて頂きます。 回答ありがとうございました。

その他の回答 (4)

  • 2002pon
  • ベストアンサー率48% (42/87)
回答No.4

横レスの形ですが。。。。 nishi6さま。 私も、 >CHAR(10)を追記することで改行します。 と思ったんですが、できませんでした。 2002です。 結果を値のみ複写すると、確かにラインはフィードされている (ワークシートでは改行されて表示されないが 入力用のフィールド(?)では改行されている) のですが、なぜなんでしょう?

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

=IF(A1=0,●●●●,"余りが"&○○&CHAR(10)&●●●●) CHAR(10)を追記することで改行します。 A1と『余りが○○』の関係がよく分かりませんが、 >複数行にするためには、「折り返して全体を表示する」にチェックを入れて、 >余りが○○の後ろにスペースを入れて調整しています。 B1÷B2の答えをB3に書くとします。B3には  =IF(MOD(B1,B2)=0,B1/B2,"余りが"&MOD(B1,B2)&CHAR(10)&INT(B1/B2)) とすれば、『余りが○○の後ろにスペースを入れて調整しています』が不要になるはずです。

intruder
質問者

お礼

CHARって、ASCIIコードの文字を返してくるんですよね? CHAR(10)は、どのような文字を返してくるのでしょうか? 回答いただいたとおりに入力したらちゃんと表示できましたけど、CHAR(10)単体ではちゃんとした文字が出てきませんでした。 ひょっとしたら改行記号であるとか? またこのようなASCIIコードってどうやって調べられているのでしょうか? CODEを使ってみたけど、どうもいまいちしっくり来ない感じがして。 質問を重ねてしまってすみません。

  • 2002pon
  • ベストアンサー率48% (42/87)
回答No.2

こんにちは。 =IF(A1=0,BLANK,余りが○○)&●●●● を =IF(A1=0,"",余りが○○)&●●●● にしてください。 正確には、 =IF(A1=0,"●●●●","余りが"&A1&"●●●●") でしょうか・・・・ ところで、BLANKってなんでしょう?

  • wolv
  • ベストアンサー率37% (376/1001)
回答No.1

=IF(A1=0,●●●●,余りが○○&●●●●) ではどうでしょうか?

intruder
質問者

お礼

発想の転換ですね。 ちょっと全体の文が長くなりましたが、ちゃんと表示できました。 回答ありがとうございました。

関連するQ&A

  • Excel のセル表示について

    エクセルを使用してますが、セルの表示位置(配置-縦位置)がデフォルトで 下詰め になっています。ほとんどの場合、中央揃え で使っているので このデフォルト設定を 中央揃え にしたいのですが、できるのか教えてください。

  • エクセルのセル内の文字を中央揃えにするには?

    エクセルのひとつのセルの中に文字サイズが違う文字を入力し、縦方向、横方向、中央揃えにした場合、大きい文字はセルの中央にきますが、小さい文字は大きい文字の横方向下揃えになって、セルの真ん中にはこないのです。 説明がへたくそで申し訳ございません。縦横方向中央揃えができるならば教えていただけたらと思います。どうぞよろしくお願いいたします。

  • エクセル2003 セルの結合について

    エクセル2003で、セルを結合して中央揃え(またはセルの結合)をした行を選択し、行の挿入をした場合の疑問なのですが… 例えば、B2:D2、B3:D3、B4:D4をそれぞれセルを結合して中央揃えをしたとします。 次に、3行目を選択して行を挿入した場合、「セルを結合して中央揃え」が反映されません。 (※挿入オプションで、上と同じ書式を適用または、下と同じ書式を適用をしても反映されません。) ちなみに、上記のセルに、セルの結合をし、塗りつぶしをしてから3行目を選択して行を挿入すると、「塗りつぶし」の書式は反映されます。 なぜ、この場合、セルを結合して中央揃え(またはセルの結合)の書式は反映されないのでしょうか? ご存知の方、ご教示いただけないでしょうか? よろしくお願い申し上げます。

  • EXCELのセル内での改行及び右よせについて

    EXCELのセル内での改行及び右よせについて シート2のA1に「○×商事 東京本社」とあります。 シート1のA1:D2のセルを結合し、そのセルの中に 「○×商事(左よせ、もしくは中央揃え) 東京本社(右よせ)」 と表示させたいのですが、どうすれば良いでしょうか? ○×商事と東京本社の間には半角スペースが入っており、 このスペースを基準に上段・下段にわけたいのです。 また、「△□産業(株)」のようにスペースが無い場合は 中央揃えで表示させたいのです。 また、文字の大きさも セルに入りきらない場合は縮小して表示させたいです。 よろしくお願いします。

  • セル結合???

    一太郎11で表を作った時にワードやエクセルのようにセル結合できないものでしょうか? または複数行(偶数行)の間で縦位置の中央揃えをする方法はないでしょうか? 奇数行の時は真ん中の行にNo.を打つことができるのですが偶数行の時はどちらかに片寄ってしまいます。 何かいい解決方法があったらお願いします。

  • エクセル「セルを結合して中央揃え」、縦が下揃えのまま。なぜ?

    エクセル「セルを結合して中央揃え」、縦が下揃えのまま。なぜ? セルの結合、横位置の中央揃えは、OKです。 縦位置が中央揃えになりません。 どうしたら、縦も中央揃えになるか、教えてください。

  • 一太郎で2行の表の中央に文字を入力したいです

    一太郎で表を作成しています。 2行になっているところの真ん中に『区分』と文字を入力したいのですが どのようにしたらよいでしょうか。 エクセルでいうと上下にある2つのセルを【セルの結合】を選択して 1つのセルにし、縦位置を【中央揃え】にして『区分』と入力するイメージです。 すみませんが、教えて下さい。

  • EXCEL セルの書式設定を固定したい

    EXCEL2007を使っています。 関数の入っていない普通のセルに 書式設定で「折り返して全体を表示する」「左寄せ」に設定していても メールに記載された情報をコピペして貼り付けると、 「折り返して全体を表示しなくなったり、中央揃えになったり、 縦二つのセルに結合されてしまったりします。 コピーした情報によると思いますが、 どんな情報を貼り付けても書式が固定されたままにする方法はないでしょうか?

  • Excel 2007でセルの値で条件判断し中央揃えする方法

    別トピックで質問を挙げさせていただいておりますが、それとは別の質問がありましたので挙げさせていただきます。 Excel 2007で数値セルにした場合、通常はセルの値が右揃えになりますが、値がゼロの場合にはハイフン(-)を表示させたうえでそのセルだけ中央揃えする方法はありますでしょうか? 値がゼロの場合にハイフンを表示させるのはIF関数 IF(A1-A2=0,"-",A1-A2) で行っています。 お分かりになる方いらっしゃいましたらご伝授ください。 何卒よろしくお願い申し上げます。

  • Excelの行間隔について

    よろしくお願いします。 Excel2002です。 「折り返して全体を表示する」を使用し、1つのセル内に数行の文字を入力しています。 この時、行と行の間隔が文字の高さピッタリになっていて読みにくいのです。 「縦位置」を均等割付か両端揃えにして行の高さを高くすると行間隔が広がることはわかったのですが データの量が多く、また行によりセル内の行数がまちまちなので、各行で行の高さを調整するのは大変なのです。 何か良い方法があれば、教えてください。 お願いします。

専門家に質問してみよう