パソコンサポート Q & A

パソコン講習会で寄せられた質問を解説しております。

時間の計算が上手くいかない

2005年07月26日 | Excel
10時間+15時間=1時間・・・10時間と15時間を足したはずなのに、答えが1時間と出てしまう
こんな計算結果にならないためにはどうすればよいでしょうか?

これは、Excelの表示形式で設定されている「標準」が深く関係しています。
Excelでは、「標準」の表示形式の設定されているセルに日付や時刻を入力すると、入力した形式に一番近い「日付」や「時刻」の表示形式にしてしまいます。
つまり、「10:00+15:00」という数式が、10時の15時間後を意味することとなってしまい、その結果、「翌日の1時」と変換して表示される仕組みです。

入力したセルの書式設定から表示形式を選択してみてください。
「h:mm」となっていますね。
これは、時刻用の表示形式なのです。

そこで、時間の計算をするためには、時刻ではなく経過時間を表示する「[h]:mm」という形式に変更する必要があります。


Excelでは時間を計算する際は、計算で参照するセルの表示形式が「時刻」なのか「経過時刻」かによって表示される計算結果が異なります。

シリアル値とは何?

2005年07月26日 | Excel
Excelなどを勉強しているとよく「シリアル値」という言葉が出てきますね。

Excelで日付や時刻を入力すると自動的に「日付」「時刻」として扱われ、表示も日付なら「7月26日」のように表示されますが、Excel内部では「シリアル値」という連続した数値で格納されています。

既定では、1900 年 1 月 1 日はシリアル値 1 となり、2008 年 1 月 1 日はシリアル値 39448 となります。
これは、1900 年 1 月 1 日から 39,448 日が経過しているためです。
また、時刻は一日の一部として小数値で格納されます。
シリアル値39448.5は、2008年1月1日12:00:00を表しています。

日付と時刻は数値と見なされるため、加算や減算などの計算を行うことができます。
また、計算プログラムの日付の解釈方法を決定する規則は複雑であるため、日付を入力する場合はできるだけ明確に指定するようにします。
そうすることで、日付処理を常に正確に実行することができます。

◆1900 年日付システムと 1904 年日付システム

Excel では、1900 年日付システム と 1904 年日付システムの 2 つの日付システムに対応しています。
既定では、Windows 版 Excel では 1900 年日付システムを使用し、Macintosh 版 Excel では 1904 年日付システムを使用します。
日付システムを変更するには、[ツール] メニューの [オプション] をクリックし、[計算方法] タブをクリックして [1904 年から計算する] チェック ボックスをオンまたはオフにします。

ほかの OS で作成されたドキュメントを開くと、日付システムは自動的に変更されます。
たとえば、Macintosh 版 Excel で作成したドキュメントを Windows 版 Excel で開くと、[1904 年から計算する] チェック ボックスが自動的にオンになります。
以下は、それぞれの日付システムの最初の日付と最後の日付、および各日付に対応するシリアル値を示しています。

日付システム 最初の日付 最後の日付
・1900 1900 年 1 月 1 日 (シリアル値 1) 9999 年 12 月 31 日 (シリアル値 2958465)
・1904 1904 年 1 月 2 日 (シリアル値 1) 9999 年 12 月 31 日 (シリアル値 2957003)

◆Excelでの年号処理
年を表す値が正確に解釈されるようにするには、年を 4 桁 (01 ではなく 2001) で入力します。4 桁で入力すると、年として正しく処理されます。

・00 から 29 までの年
 00 から 29 までの範囲で 2 桁の年を入力した場合、2000 から 2029 年として解釈されます。
 たとえば、日付として「19/5/28」を入力すると、2019 年 5 月 28 日と解釈されます。
・30 から 99 までの年
 30 から 99 までの範囲で 2 桁の年を入力した場合、1930 から 1999 年として解釈されます。
 たとえば、日付として「98/5/28」を入力すると、1998 年 5 月 28 日と解釈されます。



すべての英字を大文字で表示する

2005年07月08日 | Access
指定したフィールドに含まれる小文字の英文字を大文字で表示することができます。

テキスト型あるいはメモ型フィールドのプロパティの書式に 「 > 」を記述します。 
これは、テーブル、クエリ、フォーム、レポートの各オブジェクトに利用できます。

★使 用 例★

 abcdef    → ABCDEF    半角文字は半角文字で表示される
 abcdef  → ABCDEF   全角文字は全角文字で表示される
 (Null)   →           Null のときは何も表示されない

・半角小文字の英文字は半角の大文字に、全角小文字の英文字は全角の大文字で表示されます。
・英文字以外の文字の表示は変更されません。


あくまでも、書式で設定した表示方法で、実際に入力されたデータを変更しているわけではありません。入力したときの形式は保持されています。値の中身をクリックすると入力時の形式で表示されます。

テーブルで指定した書式は、フォームやレポートの新しいコントロールにも適用されますが、フォームやレポートで新たに書式を設定した場合は、そちらが優先されます。

Null値を0にする

2005年07月08日 | Access
集計したい数値型フィールドに『 Null 値(空欄)』が存在する場合には、正しい結果が求められません。
計算に利用しているフィールドに1つでも Null値を含むものがある場合は、結果が Null あるいはエラーになります。
そんな時はNz 関数を使って Null を0(ゼロ)に変換し、計算を行う必要があります。

 式の構文 →    Nz([<フィールド名>])


『<フィールド名>』には、テーブルあるいはクエリのフィールドを指定します。
なお、<フィールド名>として有効なのは、数値型フィールドになります。

クエリの『フィールド』や更新クエリの『レコード更新』、フォーム、レポートの『コントロールソース』や『プロシージャ』などに適用できます。
複数のテーブルやクエリを利用する場合はテーブル名やクエリ名を指定する必要がありますので、その場合は[<テーブルあるいはクエリ名>]![<フィールド名>]というように指定します。

Null 値と長さ 0 の文字列の違い

2005年07月07日 | Access
Access を使い始めてつまずくことの一つに、Null 値があります。
また「Null 値と長さ 0 の文字列の違い」は、資格試験での出題頻度も高いですから、しっかり覚えておくと良いでしょう。

Access では、空白の値として、レコードが作られてからまだ一回もデータが入っていない状態(Null 値)と、たとえば何かデータが入ったことはあるが、削除されて今は空白(長さ 0 の文字列)の 2 種類が区別されています。

データのフィールドに、これらの「空白の値」をどう登録できるかは、プロパティで設定します。
フィールドの "Required/値要求" プロパティおよび "AllowZeroLength/空文字列の許可" プロパティを異なる組み合わせで設定すると、空白フィールドの処理方法を制御できます。
"空文字列の許可" プロパティは、テキスト型フィールド、メモ型フィールド、またはハイパーリンク型フィールドにのみ設定できます。
"値要求" プロパティは、省略できるかどうかを決定します。

また、"空文字列の許可" プロパティに [Yes/はい] を設定した場合は、Null 値および長さ 0 の文字列の 2 種類の空白の値が区別されます。
情報が未確定である場合と、情報が存在しない場合には、どちらもフィールドを空白にしますが、2 種類の空白の値を使ってこれらを区別することができます。

たとえば、フィールドについて、該当するデータがあるかどうかが不明の場合は、"未確認" を示すために空白のまま (Null 値) にして、データが無い場合は、長さ 0 の文字列 ("") を入力します。

◆フィールドに Null 値を入力できるようにする
"値要求"プロパティ→ [No/いいえ]
"空文字列の許可"プロパティ→ [No/いいえ]
テキスト型、メモ型、またはハイパーリンク型フィールドを新規作成する場合は、これが既定の設定です。

◆フィールドに Null 値と長さ 0 の文字列のどちらも入力できないようにする
"値要求" プロパティ→ [Yes/はい]
"空文字列の許可" プロパティ→ [No/いいえ]

◆フィールドに Null 値と長さ 0 の文字列の両方を入力できるようにする
"値要求" プロパティ→ [No/いいえ]
"空文字列の許可" プロパティ→ [Yes/はい]

※テキスト型、メモ型、またはハイパーリンク型フィールドの既定では、「長さ 0 の文字列が入力できない」ようになっているので、「テーブル」→「デザイン」で、変更する必要が有ります。

◆フィールドに長さ 0 の文字列または特定の値だけを入力できるようにする
"値要求" プロパティ→[Yes/はい]
"空文字列の許可" プロパティ→[Yes/はい]
この場合は、長さ 0 の文字列を入力して、フィールドを空白のままにすることができます。

◆長さ 0 の文字列または Null 値を検索する
[編集] メニューの [検索] をクリックすると、Null 値または長さ 0 の文字列を検索することができます。
データシート ビューまたはフォーム ビューで、検索するフィールドを選択します。
[検索するフィールド] ボックスに、Null 値を検索する場合は「Null」と入力し、
長さ 0 の文字列を検索する場合は、ダブル クォーテーション (" ") を入力します。
ダブル クォーテーションの間にスペースは入力しません。
[検索条件] ボックスの [フィールド全体] をクリックし、[表示書式で検索する] チェック ボックスをオフにします。


長さが0(ゼロ)の空文字とは

2005年07月07日 | Access
Null 値とは、見た目は同じ空欄ですが、まったく意味が異なる空文字[Empty 値](長さが0の文字列)について説明します。

『 Empty 値』とは、見た目は空欄ですが、実際には Empty 値が格納されたセルのことです。通常、Empty 値が格納されることはなく更新クエリやプログラムなどで意識的に入力することができます。

また、Access 以外のデータベースやテキストファイルなどからデータをインポートした際に入力されている場合があります。


テーブルのデザインのフィールドのプロパティにおいて、『値要求』を「いいえ」にしている場合に、利用可能です。

Null 値と同じく、見た目は空欄ですが、クエリなどの検索条件としては、区別されます。


Null値とは?

2005年07月07日 | Access
Access において、使用頻度が高い『 Null 値』とはなんでしょう?

『 Null(ヌル)値』とは、何も入力されていない空欄のセルのことです。
厳密には、何も入力されていないという情報が格納されており、それを示す語句が『 Null 値』あるいは『 Null 』です。
テーブルのデザインのフィールドのプロパティにおいて、『値要求』を「いいえ」にしている場合に、利用可能です。


長さが0(ゼロ)の空文字とは区別されますので注意してくださいね。