- 締切済み
IF関数で空欄("")の時、Nullにしたい
例えば、=if(A1="","","該当無")とB1に入力したとします。 A1に何も入力されていなければ、B1はもちろん空欄となりますが、 編集→ジャンプ→セル選択→空白セルを選択してもヒットしません。 計算結果が空欄の場合は、最終的にそのセルは空欄にしたいのですが良い方法はないでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- cj_mover
- ベストアンサー率76% (292/381)
こんにちは ご承知のことかもしれませんが、、、。 数式の結果としてNull値を返すことはできません。 > =if(A1="","","該当無") 真の場合、「長さゼロの"文字列"」が返ります。 目的に近い書き方で、=IF(A1="",,"該当無") これでNullが返りそうなものですが、実際は「ゼロ値」です。 (というよりシート上にNull値を返すとゼロ値になります) お察しのように、一旦、何かしらの値を返しておいて、 ジャンプ機能で仕分けした範囲の値を消去する、 という手順が必要になるのですが、 今のままでは、すべてが文字列を返していることになるので、 分けられませんよね。 そこで、、、文字列でなければ何でも良いのですが、 (このレベルの数式を書く方なら、エラー値をそのまま返す数式を放置していない筈ですから) 判別用にエラー値を使ってみます。 1) =IF(A1="",1/0,"該当無") とB1に入力。 2) 編集→ジャンプ→セル選択→数式→エラー値。 3) Del キー。 A1セルが ""ならば、1/0、つまりエラー値、 でなければ、文字列。 ジャンプ機能でエラー範囲を選択、 消去する。 ・・・みたいなことをなさりたいのかと、、、。 (必要なら事後、1/0を""に置換するとか) ただ、 「長さゼロの文字列」については、 わざわざ消す必要がある程の曲者ではないと思います。 目に見えないから余計に気になるだけのことではないでしょうか。 #2さんご指摘のように、 関数での扱い方を正すことの方が重要で、 スキルを高める意味でも、優先するべきことだと私も考えます。 一応、 表の外に「長さゼロの文字列」が残るような使い方だけは、 ファイルサイズ肥大化の原因にもなりますから、 注意が必要です。 逆に、表の内側にある場合は、消しても消さなくても、 差は殆どありませんので、念の為。 私は、消す、機会がわりと多いのですけれど、理由はかなり特殊です。 「何故、空白セルにする必要があるのか?」を伝えることができれば、 もっと的確な回答が得られるのかも知れません。 察しが外れてたらごめんなさい。
- KURUMITO
- ベストアンサー率42% (1835/4283)
式が入力されていて空白になっている状態を無視できるような使い方をすることでしょう。 例えば=COUNTAなどではそのセルも数えられますが,COUNT関数やCOUNTIF関数などで回避できますね。
- merlionXX
- ベストアンサー率48% (1930/4007)
> セル選択→空白セルを選択してもヒットしません。 だって空白じゃなく数式がはいってるじゃないですか? > 計算結果が空欄の場合は、最終的にそのセルは空欄にしたいのですが良い方法はないでしょうか? いったい何をしたいのか書いた方が良い回答がつくのではないでしょうか? たとえば空白として数えたいならCOUNTBLANK関数で拾えます。 ほんとに何もなくしたいのならマクロになります。