| [Office Master] | |||||||||||
Excelでユーザー・カスタムの入力規則を定義する
|
|||||||||||
|
|||||||||||
| 解説 |
エンド・ユーザーに帳票入力をさせると、往々にして意図しないデータが入力されてしまうことがある。1〜5の間の数値を入力するべきなのに6と入力していたり、年齢フィールドなのに負の数値が入力されていたりする。
もちろん、さほど厳密性の求められないデータであれば支障はないが、入力されたデータを別なアプリケーションで処理・集計したいといった場合には、こうした不正データの存在は自動処理を妨げる大きな一因ともなる。
そこで、本稿ではExcelの標準機能のひとつである「入力規則」を利用して、データの整合性を確認する方法について紹介することにする。
| 操作方法 |
手順1―空のExcelシートを用意する
本稿では特にサンプルのワークシートは用意しない。空のExcelシート上に、さまざまな入力規則を付記して、その動作を確認してみよう。
手順2―「入力規則」を設定する
入力規則を設定したい1つ以上のセルをアクティヴにしたうえで、メニュー・バーから[データ]−[入力規則]を選択する。
![]() |
||||||
| データの入力規則の設定 | ||||||
| 入力されるデータに制約を付ける場合に利用する。 | ||||||
|
標準状態で[入力値の種類]は[すべての値]となっているが、この場合、セルは入力の制限を受けない。[データ入力規則]で設定できるルールの組み合わせは以下の通りである。
| 入力値の種類 |
データ
|
| 整数 |
○
|
| 小数点数 |
○
|
| リスト |
※
|
| 日付 |
○
|
| 時刻 |
○
|
| 文字列(長さ指定) |
○
|
| ユーザー設定 |
※
|
| 設定可能な入力値のタイプ | |
| 整数だけとか日付だけなど、入力値に対してさまざまな制約を課すことができる。さらに、[データ]フィールドを指定することによって、最大値と最小値などに制限を設けることができる。ただし上の表で[データ]が「※」の場合は、シート上の範囲を指定するか([リスト]の場合)、制約を付けるための数式を指定する([ユーザー設定]の場合)。 | |
上の表でデータ欄が「○」の場合、最小値・最大値の欄に指定した値を基準にして、次のような範囲チェックを行うことができる。最大値・最小値は固定値を指定できるほか、任意のセルを参照させることも可能だ。
| 設定値 | 概要 |
| 次の値の間 | 最小値≦セル値≦最大値 |
| 次の値の間以外 | セル値<最小値 かつ セル値>最大値 |
| 次の値に等しい | セル値(または文字列長)=指定値 |
| 次の値に等しくない | セル値(または文字列長)≠指定値 |
| 次の値より大きい | セル値>最大値 |
| 次の値より小さい | セル値<最小値 |
| 次の値以上 | セル値≧最大値 |
| 次の値以下 | セル値≦最小値 |
| データの範囲の指定 | |
| 数値や日付、時刻データの場合は、これらの条件を指定して、入力可能な値の範囲を制限することができる。 | |
データ入力規則が[リスト]の場合、カンマ区切りで入力可能な文字列を指定する。例えば、「ASP,PHP,JSP」のように指定する。すると、該当のセルを選択したときにコンボボックスが表示され、その中から値を選択することが可能になる。
![]() |
|
「リスト」の場合も、そのほかの規則を設定する場合と同様に、セル参照を行うことが可能である。例えば、セルA1〜A10に候補値リストが用意されている場合には、[元の値]フィールドに[=$A$1:$A$10]のように指定すればよい。
![]() |
||||||
| [リスト]指定の例 | ||||||
| [リスト]を選択すると、指定されたセルの内容をドロップダウン・リストから選択して入力することができる。 | ||||||
|
これら以外にも、標準で用意された入力規則では表現できないルールもあるだろう。例えばセル内の文字列がすべて全角文字であることを確認したい場合などである。そのような場合には、入力規則として[ユーザー設定]を選択する。
[ユーザー設定]はユーザーが任意の指定した条件式の結果がTrueの場合のみ、入力値が妥当であることを認めるものである。
例えば選択されたセルがB1である場合、[数式]フィールドに以下のような式を入力してみよう。
=LEN(B1)*2=LENB(B1) |
LENとLENBは文字列の長さを返す関数であるが、若干の違いがある。与えられた文字列に対して、LEN関数は文字数を返すが、LENB関数はbyte数を返す。いくつかの文字列に対するLEN関数とLENB関数の戻り値を比較してみると、次のようになる。
| 入力値 |
LEN関数
|
LENB関数
|
| あいう |
3
|
6
|
| ABC |
3
|
3
|
| あいA |
3
|
5
|
| LEN関数とLENB関数の戻り値の違い | ||
| LENは文字数を、LENBはbyte数を返す関数。全角文字は1文字=2bytes、半角文字は1文字=1byteとなっているので、これを使えば文字が全角文字であるか半角文字であるかが分かる。 | ||
先の条件式は、LEN関数の戻り値の2倍がLENB関数の戻り値に等しい場合にTrueとなる。つまり、文字列に含まれるすべての文字が2bytes文字(全角文字)である場合にのみTrueとなる。上の表からも分かるように、入力された文字列がすべて半角文字だったり、半角文字と全角文字が混在している場合には、条件式は成立せず、Falseとなる。
これを利用すれば、入力値がすべて半角文字であることを検証するのも容易である。具体的には次のような式を使えばよい。
=LEN(B1)=LENB(B1) |
手順3―入力時・エラー時のメッセージを設定する
セルに入力規則を設定した場合は、さらにユーザーに対して正しい入力を要求するメッセージを表示することができる。
ユーザーに対する表示は2つの段階で行うことができる。1つは、入力前(ユーザーがセルを選択した時点)であり、もう1つは、入力後の値の検証段階(ユーザーが入力を確定させた後)である。
[データの入力規則]ダイアログで[入力時メッセージ]タブを選択すると、ユーザーがセルを選択した時点でメッセージを表示させることができる。
![]() |
|||||||||
| 入力時メッセージの設定 | |||||||||
| ユーザーがセルを選択した時点でポップアップ・メッセージを表示させるための設定。 | |||||||||
|
入力規則を確定して、該当セルにマウス・カーソル上にカーソルを移動すると、次のようなメッセージが表示される。
![]() |
|
入力された値が正しいかどうかを検証し、不正な場合にメッセージを表示させるには、[エラー メッセージ]タブで設定を行う。
![]() |
||||||||||||
| エラー時のメッセージの設定 | ||||||||||||
| 入力された値が正しくない場合に、エラー・メッセージを表示させたり、再入力を促したしすることができる。 | ||||||||||||
|
不正な値を入力しようとすると、次のようなダイアログが表示されるはずである。
![]() |
|
手順4―デフォルトの入力モードを設定する
入力される値に応じて、あらかじめIME(日本語入力システム)の入力モードも固定しておいた方がよい場合も少なくない。
そのようなときには、「データの入力規則」ダイアログから「日本語入力」タブを選択することで、セルを選択した時点でのデフォルトの入力モードを設定することができる。
![]() |
|||
| IME入力モードの設定 | |||
| セルを選択した時点での、デフォルトのIME入力モードを設定することができる。 | |||
|
「無効」を選択したとき以外は、ユーザーは入力モードを自由に変更することができるが、それでもデフォルトを自動的に切り替えることで、ユーザーが意図しない間違いを減らすことが可能なはずだ。![]()
|
||||||||||||||||||||||||||||
| 「Windows TIPS」 |
TechTargetジャパン
- フォルダの名前が変更できない不具合を解消する (2012/5/25)
Windows 7のエクスプローラで画像ファイルやPDFが含まれるフォルダの名前が変更できなかったり、削除できなかったりする不具合の解消方法を解説する - 通信相手のMACアドレスを調べる近隣探索プロトコル (2012/5/24)
イーサネットで通信する場合、相手のMACアドレスが分からないとパケットを送信できない。ARPに代わるIPv6の近隣探索機能とは? - 第316話 ネット対応トイレ (2012/5/22)
毎日用をたすだけで、体温に体重、血圧、体脂肪率も計測して、尿検査、便検査も自動で実施、データはネット経由で医師に送られます - 私物のスマートフォンを業務に活用、「BYOD」って何? (2012/5/21)
私物のスマホやノートPCを組織的に業務に活用する「BYOD」が新たなトレンドとして注目されている。なぜいまBYODなのか? BYODのメリットとデメリットは?
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -









