エクセルの「ユーザー定義」とは?
エクセルには書式設定の一つに「ユーザー定義」というものがあります。この「ユーザー定義」とは一体なにかご存知でしょうか?
ユーザー定義とは、あらかじめ決められた書式ではなく利用者自身で設定する書式のことです。
エクセルには初めから日付やパーセンテージなどの書式設定が用意されていますが、用意されていない単位やフォーマットを書式に含めたい場合も出てくるでしょう。そういう時に利用するのがユーザー定義です。決められた文法に従って書式設定することで、自由自在に表示形式をカスタマイズすることができます。
エクセルのユーザー定義の使い方
エクセルのユーザー定義はセルの書式設定から行えます。
既に設定してあるユーザー定義の書式を他のセルにコピーする方法
セルごとにユーザー定義の書式を追加するのは非常に非効率です。その場合はセルの書式設定のみをコピーして貼り付けてしまいましょう。
コピーしたら貼り付けたいセルを選択し、[Ctrl+Alt+V]キーを押します。すると「形式を選択して貼り付け」というウィンドウが表示されます。
ユ-ザー定義で使用できるフォーマット
最後にユーザー定義で使用できるフォーマットについてみていきましょう。こちらで紹介するフォーマットを組み合わせて使いやすいように書式設定するようにしてください。
文字列フォーマット
文字列用の書式で最も使用されることが多いのが「@」です。「@」はセルの中身をそのまま使用するという意味を持つ記号で、セルの値に何か単位や敬称などをつけたい時とかに役立ちます。
例えば「山田 太郎」など人名のセルに全て継承として「様」を与えたい場合、「@様」のようにします。こうすることでセルの中身を書き換えずに「山田太郎様」と表示することが可能です(スペースを入れて余白を作ることも可能)。
ただし文字列セルにのみ有効なフォーマットであり、数値として認識されているセルでは文字列扱いされず、@を指定してもユーザー定義の書式が表示されることはないので注意してください。
ほかにも以下のような文字列用の書式が用意されています。
- 「!」:1文字の文字列をそのまま表示する
- 「*」:*の次の文字でセルを埋める
数値フォーマット
ユーザー定義の書式で使うことが多くなりがちなのが数値関係のフォーマットです。
数値関係のフォーマットを使えば0埋めを行ったり、表示する小数点以下の桁数を制限したりすることも可能です。また、3桁ごとにカンマを入れるということもできます。使用できるフォーマットは以下の通りです
- 「#」:数値の一桁を表示する。数値が0のときは何もしない
- 「0」:数値の一桁を表示する。数値が0の時はゼロ埋めする
- 「?」:数値の一桁を表示する。数値が0の時はスペースで埋める
- 「;」:;を区切りとして複数書式を設定する
- 「_」:_の次の1文字の幅だけスペースを空ける
日付フォーマット
エクセルに日付を入力すると、ある程度は自動的にフォーマットされますが、異なる日付フォーマットを統一したい時があるでしょう。そういう時にはユーザー定義で日付フォーマットを指定することで統一することが可能です。
用意されている日付フォーマットは以下の7種類です。
- y:下二桁の年数を表示する
- yyy:年数を略さずに表示する
- g:元号をアルファベットで表示する
- gg:元号を略して表示する
- ggg:元号を略さずに表示する
- e:和暦の年の一桁を表示する
- m:月の一桁を表示する
- d:日にちの一桁を表示する
- ddd:月を英語で表示する
- dddd:月を略さずに英語で表示する
時刻フォーマット
日付用のフォーマットがあれば時刻用のフォーマットももちろん用意されています。時刻用のフォーマットはシンプルで、時分秒それぞれ以下のようになっています。
- h:時間を表示
- m:分数を表示
- s:秒数を桁表示
時分秒それぞれ一桁だったときに2桁目をゼロ埋めしたい場合(例:06:20:07)、それぞれのフォーマット文字列を二つ並べて「hh:mm:ss」のようにしてください。こうすることで不足している桁が自動的にゼロ埋めされます。
曜日フォーマット
曜日用フォーマット「aaaa」を使うことで、日付から自動的に曜日を取得することも可能です。
例えば「2020/12/6」をセルに設定していたとします。このセルに対してユーザー定義の書式「aaa」を設定するとセルの中身が「土曜日」というように曜日に置き換えられるようになります。
もちろん他のユーザー定義のフォーマットと組み合わせることもできるのでユーザー定義の書式を「yyyy-m-d (aaaa)」とした場合「2020-12-6 (土曜日)」と表示させることが可能です。
曜日を表すフォーマットは「aaaa」だけでなく、ほかの形式で取得することも可能です。
- aaa:曜日を略して表示する(例:月)
- aaaa:曜日を略さずに表示する(例:月曜日)
- ddd:曜日を略して英語で表示する(例:Mon)
- dddd:曜日を略さず英語で表示する(例:Monday)
フォーマットを解除する書式
ユーザー定義で使用できる特殊なフォーマットとして「G/標準」があります。「G/標準」はすべてのフォーマットを解除した状態で表示する書式で、文字列ならそのまま表示、数値関係はすべて数値に戻されます。
日付や時刻も1つの数字に戻され、「06:50:44」という時刻を入力したセルも「0.2852...」のようにリテラル化されます。
使う機会はめったにありませんが、ユーザー定義の書式のデフォルト値として設定されていることがあるので覚えておくと良いでしょう。