今回はセルの表示形式におけるユーザー定義のデータの種類による場合分けの基本についてお伝えします。
ユーザー定義について
まずはユーザー定義について。セルの表示形式のウィンドウを出します。
ユーザー定義を選ぶだけです。事前に作りたいものに近いものを選んだあとユーザー定義に変えた方が変換しやすいです。
上の画像はデフォルトの標準から選んだ場合のものです。
上記のようにG/標準の場合は入力データを見てエクセルが判断して表示させることになります。
;による区切り
ユーザー定義で入力されたデータはセミコロン(;)で場合分けされます。
0(正の場合);-0(負の場合);0(0の場合);@(文字列の場合)
のようになります。
正の場合は0や#で数値の表示形式をまたはd等で日付の表示形式を指定できます。
負の数や0も同様ですが負の数では日付表示はできません。0の場合は日付表示っぽくなりますが存在しない日付になります。
文字列は@のみだと入力した文字列そのままになります。
さらに、セミコロンの数が少ない場合は以下のようになります。
3つに分けられている(セミコロン2つ)場合
0(正の場合);-0(負の場合);0(0の場合)
この場合文字列は@を指定したのと同じになります。
2つに分けられている(セミコロン2つ)場合
0(正または0の場合);-0(負の場合)
となります。
区切りが無い場合は正負も0も共通になります。(負の数の場合は”-“がつく)
積雪量の例
昭和38年2月の金沢の降雪量を例にしてみましょう。(この年は気象庁が昭和38年1月豪雪と命名するくらいの大豪雪でしたが2月は落ち着いてきたようです。)
ちなみに0は雪は降ったが積雪が増えるほどではなかった場合で—は全く雪が降らなかった場合です。
表示形式を0_ ;0;”微降雪”;”無降雪”としてみました。
そういう言い方をするかどうかわかりませんが0を微降雪に—を無降雪にしました。
—は文字列なので左に寄っています。統一する場合はセルの書式設定の配置またはリボン内のボタンで統一しましょう。
ちょっとした応用
数式を適用した際に空白になることがあります。
上のような数式の場合だと
上記のようになります。
IF関数を使って=IF(A2<>””,A2,””)のような式にしてもいいのですが全てを修正するのが大変だったりします。(上の例ならオートフィルを使えば一発ですがこういう単純な例はなかなかないでしょう。)
上の画像を見てわかる通り数式を使い空白となった場合0になります。
そこでB列に0;0;””;@のような表示形式を指定します。
すると
上のようになり空白のままになります。
コメント