アプリ版:「スタンプのみでお礼する」機能のリリースについて

計算式で0となった場合空白を返す式を作りたいです。
たとえばif関数を使って、

=if(A12-B15=0,"",A12-B15)

とすれば簡単にできますが、この判定式がめちゃくちゃ長かったりすると二回も同じ式の中に記述するのが面倒くさいです。
そこでもっと簡単に、式の結果が0の場合空白とする式があれば教えてください。

A 回答 (5件)

ユーザ定義関数を作る。


Visual Basic Editorに以下を記述

Function zerotospace(range)
If range = 0 Then
zerotospace = ""
Else
zerotospace = range
End If
End Function
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
定義関数というのがあるのですが、早速試してみます。

お礼日時:2008/08/09 20:25

多分質問者が言いたいと推測することは、現状では関数の中ではありません。


=IF(式1=0,"",式1)の場合の、式1が長い式だと2度書くのが面倒で腹立たしいですが、数式バー部でコピーして、式の後半に貼り付けるほか無い。記号で代替する仕組みは出来ないか勝手に考えたが、良い記法も思いつかない。MSがもし作るとすると仮定すると、新しい概念を持ち込む必要があろう。
式の文字列を他セルで定義し、それを使わせるようにするとか。
ーー
現状は
(1)ユーザー関数を活用する
(2)作業列に結果を出し、それをその番地で参照する。
    • good
    • 0

このような場合、一般的に作業列を使用します。



A12-B15
の判定式を作業列(たとえば「Z列」)に入力。

本来表示させる列に
=if(Z12=0,"",Z12)
と入力。

見てくれだけの問題なら
#1さん、#2さんの方法でOKです
    • good
    • 1

詳細設定の「ゼロ値のセルにゼロを表示する」チェックをはずす。

    • good
    • 3

回答ではありませんが、


>計算式の結果が0の場合は空白を返す式を作りたいです
は実は目的ではなく。
「計算式の結果が0の場合は空白を『表示したい』」
が目的というケースが多いですが、そういうことはありませんか?

その場合、そもそも計算式ではなく、書式-セルの表示でユーザ書式として
#
(シャープ 1文字)を指定するだけで用は足りますよ。
    • good
    • 2
この回答へのお礼

ご回答ありがとうございました。
0を表示しないのが目的ではなく、今回の場合は空白としたいのです。
皆様のおかげで大変助かりました。

お礼日時:2008/07/21 14:47

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

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