下のように、B1が空白の場合、A1に入力した文字がB1にまたがって表示されますが、例えばB2にif(A10="","",suika)なんて式が入っていたとしたら、B2は空白なのですがA2に入力した文字が途中までで表示されません。

   A   B
1 すいかのたね
2 すいかの     ←B2のセルに式が入っている

これを1の列のようにBが空白の場合、Bの行にまたがって表示させる方法はないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

他の方の解答と違うので見当はずれが心配ですが、


A列に文字が、A列幅に表現できる以上の文字数入っているとする。
B列に所々ワンスペース入っているとする。
個別にB列のスペースのセルを1つ1つをクリアー(編集-クリアー)の操作ができる数で有れば、そのようにすれば良いと思う。
---
B列の空白セル数が多いときはVBAでModule1に
Sub test1()
For i = 1 To 10 '10は適当に増やすこと
If Cells(i, 2) = " " Then ' " "は1スペース挟む
’ またはIf mid( Cells(i,2),1,1)=" " Then
Cells(i, 2).Clear
End If
Next i
End Sub
と入力して、実行するとA列に入れた文字列が現れる。
-------
=IF(B1=" ","",B1)
を利用しようとしたが、第2項でクリアー状態は””では表せない
ようで、失敗した。誰かご存知であれば、それで解決するだろう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
これに少し手を加えてうまく行きました。
質問の仕方が悪かったのですが、
   A    B
1 すいか 
2      たね
3      あまい
4      みどり

と単純に入力した表を、セル幅を狭くしてインデント代わりにして別表に
  AB
1 すいか 
2  たね
3  あまい
4  みどり

と表示させたかったのです。
A列は=if(A1="","",A1) B列は=B1 にして元の表のB列が空白の場合0が返ってくるようにして
Sub test1()
For i = 1 To 10
If Cells(i, 2) = 0 Then 
Cells(i, 2).Clear
End If
Next i
End Sub
としました。(単純だけど(^^;)
頻繁に使う事があるので大変助かりました。本当にありがとうございます。

お礼日時:2002/04/03 10:33

しつこく、無理やり考えた別法です。

セル幅を調整しない方法です。

(1)B列の算式を別シートに作ります。(別シートは枠線の表示をしません)

(2)そのセルをコピーして、表示する元のシートのB列に、
    Shift+編集→図のリンク貼り付けで貼り付けます。

(3)(1)の別シートの算式を書き込んだセルに条件付き書式を設定します。
    そのセルがB2とすると、条件付き書式の設定ダイアログで
     < 数式が > < =LEN(B2)>0 > にして、書式ボタンを押して
     パターンタブで白を選択します。
      (表示する元のシートのバックは白としています)


条件付き書式を使って、
  長さのある有効な文字なら、セルを白く塗って図のリンク貼り付け。
  長さのない文字なら、セルの背景が透明なまま図のリンク貼り付けしています。

算式を別シートに持っていければの方法です。
    • good
    • 0

普通は、セル幅を広げるか、フォントを小さくするか、折り返して複数行で表示するのでしょうか。


セル幅以上の文字長を入力していたら、このままでは回避しようがないと思います。


が、B列を非表示にしたらどうですか?一応できますが主旨が違うかもしれませんね。

または『すいかのたね』を別の場所(枠線を非表示にした別シートで)入力して、コピー後、
このシートに、Shift+編集で図のリンク貼り付けを行えばB2に関わらず行をまたがって表示できます。

何かほんとの解決策じゃないようですね。ご参考に。
    • good
    • 0

A2の文字のフォントサイズを小さくする。


行の高さを広げて折り返して表示する。
Aの幅を広げるのが一番かな?
    • good
    • 0

普通は、列Aの幅を広げるんですが、


駄目ですか?
ドラッグして、広げるときに、
マウスをダブルクリックすれば、最適な幅になります。

A列の幅を広げずに、というのは、
無理じゃないかと思いますが、違っていたら、
御免なさい。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル: セルの枠を超えて表示

エクセル初心者です。
文字列が(そのセルの右隣が空欄のときに)枠を超えて表示される場合と
枠内までしか表示されない場合とがあるのですが、
それらはどこで操作したら変更できるのでしょうか。

どなたかよろしくお願いいたします。。

Aベストアンサー

文字の入っているセルを右クリック
「セルの書式設定」→「配置」タブ→「横位置」を
「標準」か「左詰め」にすると,隣のセルまで文字がはみでると思いますが,
「繰り返し」にすると,文字がはみださなくなると思います。

また,
「横位置」の設定が「標準」のままであっても,
下の方にある「文字制御」の
「折り返して全体を表示する」か「縮小して表示する」
にチェックを入れてもはみださなくなりますが,見かけはかなり変わります。

Qエクセルのセルの枠を超えて文字を表示させるには

表題のとおりです。

検索して調べたら書き込みたいセルの右隣のセルのデータを消せばいい、そのためには右隣のセルにカーソルを合わせてDeleteキーを押せばいいとあって、さらに書き込みたいセルの文字位置は「標準」にするとありました。
そのとおりにやるのですが旨くいきません、どうしても文字が途中で途切れてしまうのです。
どうしたら枠を超えて表示させることができるでしょうか。

Aベストアンサー

入力セルがセル結合されていると表示出来ませんのでご確認下さい。

因みにテキストボックス(図形オブジェクト)ならばこのような制約は有りませんが如何でしょうか。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QExcelについて(セル内の文字を全て表示したい)

Excel操作についてお尋ねします。
セルの列幅に収まりきれない文字数の文を入力したとき、
右隣のセルの下に隠れるように、その幅をオーバーした文が隠れてしまう時があります。
普通は、セル内に長々と入力した文字はセルの枠線を越えて右に表示されていきますが、
何かしたつもりもないのに、たまにこの現象が起きます。
セルを結合する等してその場しのぎな対処はできますが、
この現象を解除する方法があれば、教えていただけたら嬉しいです。

(バージョンは関係ないかもしれませんが、今2003を使っています)

Aベストアンサー

その隠れてしまうセルの右側に何か入力されてるのではないでしょうか。
文字を消すか、何も無い様に見えるなら空白などが入っているのかも。

何かが入力されているなら、その文字を消してしまっているセル(文字の右隣のセル)を選択して、右クリック→「数式と値のクリア」で、たぶん表示されると思います。
何も考えずに不規則に結合すると面倒ですので、必要でする場合以外は避けた方が良いですね。
ご存知かと思いますが、横に伸ばさず、数行に分けて表示したい場合は、右クリック→「書式設定」で「折り返して全体を表示する」で表示できますよ。

Q【Excel 2003】セルから文字をはみ出させる方法

【Excel 2003】で、セルから文字をはみ出させる方法を教えて下さい。

※折り返して全体を表示、縮小して全体を表示 ではありません。

久しぶりにExcelを使ったのですが、すっかりその方法を忘れてしまいました。全く思い出せず困っています。検索しても見つかりませんでした。

ご存知の方、どうぞよろしくお願い致します。

Aベストアンサー

’(アポストロフィ)を先行入力し、数字入力する方法は如何でしょうか。

QExcelの結合でA列とB列の内容を結合したいのですが

A列とB列を結合しますと、B列のデータがなくなってしまい、A列のデータのみとなってしまいますが
具合の良い方法ありますでしょうか。
行数が沢山あるものですから。

例:
A列に東京都中央区銀座
B列に8-5-6 ××ビル5階
これを結合して
東京都中央区銀座8-5-6 ××ビル5階
にしたいのです。

初心者です宜しくお願い致します。

Aベストアンサー

こんにちは。

表示させたいセルの数式バーに、結合させたいセルを"&"でつなげて入力すると、内容も結合されます。

例: =A1&B1

補足ですが、A1とB1を選択して、「セル結合」ボタンを使ったり、「書式」→「セル」→「配置」の「セルを結合する」にチェックを入れた場合は、A1の内容のみ保持されます。

QWord 文字を打つと直後の文字が消えていく

いつもお世話になっています。
Word2000を使っているものです。
ある文書を修正しているのですが,文章中に字を打ち込むと後ろの字が消えてしまいます。
分かりにくいですが,
「これを修正します。」
という文章の「これを」と「修正します。」の間に「これから」という単語を入れたときに,その場所にカーソルを合わせて「これから」と打つと,
「これをこれからす。」
となってしまいます。
他の文書では平気です。
何か解決する方法があれば教えて下さい。

Aベストアンサー

入力モードが「挿入」(普通の入力)から、「上書き」になってしまっているのだと思われます。
キーボードに[Insert]というキーがあると思いますので、1度押してみてください。

Q文字列(セル)から一部の文字だけ削除する方法

質問させて頂きます。

エクセル等で下記のような編集をしたいと考えております。

A列      A列
12345     123
67890     678
01234  ⇒  012
56789     567
98765     987

ようは、右側の2文字などを指定して削除をする方法です。

少し説明が分かり辛いかもしれませんが、もし、分かりましたら、ご教授いただければ、幸いです。

どうぞ、宜しくお願い致します。

Aベストアンサー

右側の2文字を削除するなら、セルA1に文字が入っているとき
=LEFT(A1,LEN(A1)-2)
とすれば、取り出せます。
「LEFT」関数は文字列の左側から指定文字数分取り出す関数。
「LEN」関数は、指定文字列の長さを計算してくれる関数です。
なので、左側から「文字数-2」文字取り出せば質問のとおりになります。

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報