- ベストアンサー
Excelで空白セルにスペースをセットする方法は?
Excelの仕様でセル幅以上の文字数がある場合、後続のセルが空白だと超えた文字がそこに表示されます。 これを回避するために、後続のセルが空白だとスペースをセットする次の式(セルB1の例)を書きましたが、循環参照の警告が出て、それを無視すると「0」となります。 =IF(B1=""," ",B1) 対処方法をご教示頂きたくお願い致します。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
補足をいただいたので追加で回答しますが、質問文からA列とB列がどうなっているのかわかりません。質問文から理解できるのはA列にセル幅を上回る長さのデータが入っているということと、B1が空白だと言う事だけです。 他の方への捕捉に「猛暑で仕方ない」と書いていらっしゃいますが、要領が悪いのはあなたの質問文の方です。 質問文のIf関数はB1に入力しているのですよね? B1が空白の時が問題なのですし、B1にIf関数を入れてもB1に他のデータを入力する時にはその関数式は消されるでしょう?そのデータを空白に戻す時にまたわざわざIf関数式を書き込むんですか? そんな無駄な事をする位なら、=""を入れておけばいいだけです。 If関数でB1を参照すれば循環になるのは当然です。なぜそんなエラーが出て当然のことをするのか私には理解できません。 単にA列のセルの書式を「折り返して全体を表示する」にするのは駄目なんですか? 折り返し表示で行高さが高くなってしまいますが、それはそれで1回戻せばいいわけですし。 あくまでも魔法みたいな事させたいのであれば長いデータが表示されているセルの右隣に空白(="")をセットするようにマクロを組めばいいのでは?
その他の回答 (8)
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 仮にA列を文字列入力としています。 B列を選択→ctrl+Gキー押下→セル選択→空白を選択→OK→スペースを入力→ctrl+enterキー押下
- keithin
- ベストアンサー率66% (5278/7941)
Ctrl+Aで全セルを選択し,てきとーな1行で行の高さを「ごくわずかに」増やしておく(全セルの,つまり全ての行の高さを標準の高さからわずかに増やした行高さにしておくという意味です)。 A列を選び,セルの書式設定の配置で「折り返して全体を表示する」のチェックを入れておく。
- oct1290
- ベストアンサー率35% (75/213)
テストの結果 循環エラーは覚悟しオプションの設定で、「ゼロ値」のチェックを外せば一応出来ましたが だめですか?
- oct1290
- ベストアンサー率35% (75/213)
先に補足がありましたね =IF(B1="","",B1) でテストしましたがOKですよ、 エラーは出ませんけど2003以降ですよね?
- oct1290
- ベストアンサー率35% (75/213)
ごめんなさい勘違いです 隣のセルに表示させないのですね =””ですかね?
補足
この猛暑では無理もないかもしれませんが、質問内容を良く理解したから回答願います。
- NURU_osan
- ベストアンサー率50% (297/593)
セルA1に何か長い文字列を入力してセル幅をはみ出た分がとなりのB1に表示しないようにさせたいのですよね? B1に↓と入力するだけじゃ駄目なんですか? ="" わざわざIfを使う意味がわからないのですが…
補足
先に示しました関数からもお分かりのように、B列が常に空白ではなく、多量のデータがあります。
- oct1290
- ベストアンサー率35% (75/213)
ごめんなさいテストしてないけどこれでいいんじゃない? =MID(文字列,開始位置,文字数) =MID(A1,255,255) 間違ったらごめん。。
補足
回答ありがとうございます。 残念ながらダメでした。
- ami0607
- ベストアンサー率41% (5/12)
関数で対応するのは必須でしょうか? EXCELの置換を利用し、その列を選択して、空欄を検索し、スペースを入れるという置換をしてはいかがですか?
補足
早速回答頂きありがとうございます。 データの変更の度に検索・置換の操作をしなくても済むように関数での方法を模索しているのですが。
お礼
マクロにより対処しました。 皆さん、回答ありがとうございました。