Q:Accessで、小数点以下を切り上げするにはどうしたらいいのでしょうか?
Accessでは、整数部分のみを取得するInt関数と、条件に応じて処理を切り替えるためにIIf関数を使って切り上げをすることができます。
▼操作手順:クエリで小数点以下を切り上げる演算フィールドを作成する
([元の数値]フィールドから、[切り上げ]フィールドを作成する例)
クエリをデザインビューで開く
↓
フィールド欄に、
「切り上げ: IIf(Int([元の数値])=[元の数値],[元の数値],Int([元の数値] 1))」
と記述する
主たる処理は、
「Int([元の数値] 1)」
の部分です。
元の数値からInt関数で整数部分のみを取得し、1を加算することでいわゆる「切り上げ」と同じ結果になるわけです。
ただ、このままだとどんなときにも1を加算する処理が行われてしまい、例えば「1.0」を切り上げしても「2」になってしまいます。
これを回避するために、IIf関数で切り分けています。
Excleで数式・関数を使えるようになった方からよくいただく質問に、「エラーを表示させないようにするにはどうすればいいのか」というものがあります。
C1セルに「=A1/B1」という数式が入力されていて、B1セルが「0」だったりすると、「#DIV/0!」というエラー表示になってしまいます。あるいはA1セルやB1セルに文字列が入力されれば「#VALUE!」エラーとなります。これを表示させないようにするにはどうすればいいのかという質問です。
あるいはVLOOKUP関数を覚えた方から、事前に該当セルにVLOOKUP関数を入力して、第1引数の検索値が入力されていない状態で「#N/A!」エラーが表示されるのを防ぐにはどうすればいいのか、という質問をいただくことも多いです。
そのワークシートがどう使われるかによっていろいろな回避策があるはずです。
例えば、使っているExcelのバージョンが2002以降で、画面上はエラーが表示されていても問題なく、印刷するときだけエラーが印刷されなければいいということだってあります。そんなときは[ページ設定]ダイアログでエラー値を印刷しない設定にするのが簡単でしょう。
先の「=A1/B1」のような場合なら、A1・B1セルに数値以外の値が入力されないように、B1セルには「0」を入力できないようにしておくという処理を入れ、エラーの状態にさせないようにするというのもありでしょう。
VLOOKUP関数で第1引数が未入力状態のエラーだけを回避したいのならば、IF関数で第1引数にあたるセルが入力されているかどうか判断するという方法が考えられるでしょう。
Excelに慣れた方にとっては特に目新しくもないネタだったはずですが、比較演算だけを行ったことがないという方は、この機会に比較演算を試してみて、比較演算子について理解を深めてください。
まずは、C1セルに「=A1=B1」と計算式を入力してから、A1セル・B1セルに数値を入力してみてください。この「=A1=B1」という計算式に違和感を覚えるという方は、比較演算を単独で行ったとがないはずです。
はじめの「=」は数式の先頭に必ず入力する「=」、「A1=B1」の「=」の方が比較演算子としての「=」で、同じ記号ですが意味するところは全く別モノです。
A1セルとB1セルが等しい場合にC1セルに「TRUE」と表示され、等しくない場合は「FALSE」と表示されるはずです。
そもそも演算子というのは実行する計算・演算の種類を指定する記号で、ヘルプによればExcelには、算術演算子・比較演算子・文字列演算子・参照演算子の4種類の演算子があります。そのうちの一つ比較演算子は、比較という演算・計算をするためのものです。
Excelで論理演算は基本的には関数で行うのですが、演算子を使って論理演算を行うこともできます。
AND演算
「=IF(AND(B2>=80,C2>=80),”合格”,”不合格”)」
は
「=IF((B2>=80)*(C2>=80),”合格”,”不合格”)」
と書くことができ、
OR演算
「=IF(OR(B2>=80,C2>=80),”合格”,”不合格”)」
は
「=IF((B2>=80)+(C2>=80),”合格”,”不合格”)」
と書くことができるのです。
なぜAND演算が掛け算の演算子「*」でできて、OR演算が足し算の演算子「+」でできるのでしょう。
まず掛け算や足し算をする前の「B2>=80」「C2>=80」ですが、これはいずれも比較演算子を使った比較演算です。指定されたセルが80以上であれば「TRUE」、そうでなければ「FALSE」という値を返してきます。
掛け算・足し算でAND演算・OR演算ができることを理解するためには、その「TRUE」「FALSE」というのが、どういう値なのかを知っておく必要があります。
「=IF(D1,”真”,”偽”)」
という計算式をE1セルに入力して、D1に以下のような値を入力してみてください。
「TRUE」「FALSE」「0」「1」「2」
D1セルに「FALSE」「0」を入力したときだけE1セルに「偽」と表示され、その他の値の場合は「真」と表示されます。
Excelでは「FALSE」というのを数字で表すと「0」で、それ以外の値は「TRUE」として扱われているのです。
ここで算数を思い出してください。どんな数値でも「0」を掛け算したら必ず「0」になるということを。それを「FALSE」=「0」という考えで表現しなおせば、他の値が何であれ「FALSE」を掛け算したら必ず「FALSE」ということになります。
入力規則を設定して、入力できる値をドロップダウンリストからだけに制限するという技は、実務でかなり役立ちます。
リスト以外のデータが入力された場合にエラーメッセージが表示されて、入力を拒否してくれますから、データをできるだけキレイな状態にしておきたいときにはとても有効です。