Excel VBAではオリジナルの関数である、ユーザー定義関数を作成する事ができます。
通常Excelに用意されている関数では実現できないような処理を実行したり、非常に長い関数になってしまうところを簡潔にまとめたりなど、アイディアによって様々な関数を作りだす事ができます。
今回は、計算結果が0の場合、空白を返すという、ユーザー定義関数をご紹介します。
計算結果が0の場合、空白を返すユーザー定義関数
下記のサンプル1はFunctionプロシージャを使って作成しており、関数名は「ZEROSPACE」としています。
(SubプロシージャとFunctionプロシージャについてはまた別の機会に詳しくご紹介しますが、プログラムがSub~()で始まるのがSubプロシージャ、Function~()で始まるのがFunctionプロシージャです)
これは通常の関数のように、シート上で「=ZEROSPACE(1-1)」のような形で使用する事ができます。
プログラムの内容としましては、
If range = 0 Then
ZEROSPACE = “”
で、セルの値が0の場合は空白となり、
Else
ZEROSPACE = range
で、セルの値が0以外の場合はセルの値をそのまま残す、というようにしています。
シートの中で0を表示させたくない時に、長ったらしい関数を使うのが嫌な場合など、意外と使い道はあるかもしれません!
サンプル1
Function ZEROSPACE(range) If range = 0 Then ZEROSPACE = “” Else ZEROSPACE = range End If |