第 3 章 関数
この章では、日付と時刻を扱う関数や検索条件に一致するデータを取り出す関数の使い方、また複数の関数を組み合わせてエラー 値を非表示にする方法を学習します。STEP 1:日付/時刻関数
≪TODAY 関数・NOW 関数≫ TODAY 関数は、パソコンの内蔵時計を利用して現在の日付に対応するシリアル値を返す関数です。関数を入力する前に、 セルの表示形式が[標準]になっている場合は、計算結果は日付形式で表示されます。日付を直接入力した場合と異なり、後日 ブックを開くと現在の日付に更新して表示されます。NOW 関数も TODAY 関数と同様な使い方をしますが、日付だけでなく 時刻の情報も表示することができます。 【TODAY 関数・NOW 関数の書式】= NOW ( )
引数は必要ありませんが、( ) は必要です。関数名
引数
= TODAY ( )
関数名
引数
引数は必要ありませんが、( ) は必要です。 【TODAY 関数・NOW 関数の使用例】 <こんな方法も!!> 関数は、キーボードから直接入力(例:「= today( )」)することもできます。関数名は数式を確定すると大文字で表示されます が、入力する際には大文字/小文字を区別する必要はありません。小文字で入力した場合、入力した関数名のスペルが違うと 数式を確定しても大文字には変わりません。 シリアル値 Excel では、日付や時刻と認識できる形式でデータを入力すると、“1900/1/1 の 0 時 0 分”から“9999/12/31 の 23 時59 分”までのすべてのデータに“1”から“2958465”までの連続した番号(シリアル値)を割り当て、計算に利用 することができます。 シリアル値とは、日付や時刻のデータを数値で表したもので、整数部分は日付を表し、小数部分は時刻を表します。 例えば、2005/12/20 の 18:00 は、シリアル値では“38706.75”となります。 ※ 日付や時刻の形式で表示されているデータをシリアル値で表示する には、表示形式を[標準]に設定します。 ≪DATE 関数≫ DATE 関数は、年、月、日の値から指定された日付に対応するシリアル値を返す関数です。 【DATE 関数の書式】= DATE ( 年 , 月 , 日 )
年:1900~9999 の範囲で年を表す数値、またはセル参照を指定します。 月:1~12 の範囲で月を表す数値、またはセル参照を指定します。 日:1~31 の範囲で日を表す数値、またはセル参照を指定します。 ※ 範囲外の数値を指定した場合、前後の月や日に換算されます。関数名
引 数
【DATE 関数の使用例】
STEP 2:VLOOKUP 関数
≪VLOOKUP 関数≫ VLOOKUP 関数(検索/行列関数)は、検索範囲の左端列の値を検索し、一致した値がある行と指定した列とが交差するセルの 値を返す関数です。 【VLOOKUP 関数の書式】= VLOOKUP ( 検索値 , 範囲 , 列番号 , 検索の型 )
検 索 値:範囲の左端列で検索する値を指定します。検索値には値、セル参照、または文字列を指定します。 範 囲:目的のデータが含まれる表のセル範囲を絶対参照で指定します。 列 番 号:目的のデータが入力されている列が、範囲の左端から何列目にあるかを番号で指定します。 範囲の左端の列から1、2、3…と数えます。 検索の型:論理値のFALSE または TRUE で指定します。 A) FALSE または 0(ゼロ)を指定した場合 検索値と完全に一致する値だけを検索し、見つからない場合はエラー値“#N/A”が表示されます。 B) TRUE または入力を省略した場合 検索値と一致する値がない場合は、近似値(検索値未満で最も大きい値)が検索値として使用されます。 ※ 範囲の左端列のデータを昇順で並べ替えておく必要があります。関数名
引 数
【VLOOKUP 関数の使用例】 “納品書”シート 範囲 商品一覧!$A$4:$C$14 検索値 B12 列番号:1 “商品一覧”シート 列番号:2 列番号:3STEP 3:関数のネスト
関数の引数には、数値や文字列、セル参照の他に関数を使用することができます。引数に関数を使用することを『ネスト』と いい、これによりIF 関数と他の関数を組み合わせてエラー値を非表示にするなど 1 つの関数ではできない複雑な処理を行う ことができます。 ※ ネストは1 つの関数の中で最大 7 階層まで指定することができます。 ≪IF 関数を使用したエラー値の非表示≫ IF 関数を使用して、VLOOKUP 関数などで数式が空白セルを参照する可能性がある場合に、表示されるエラー値を非表示に することができます。<操作手順> 例:商品番号が空白だったら空白を表示、空白でなかったらVLOOKUP 関数の結果(‘商品番号’に該当する ‘商品名’)を表示する場合 1. 計算式を入力するセル(セル C12)をアクティブにします。 2. 数式バーの[関数の挿入] ボタンをクリックし、 [関数の挿入]ダイアログボックスを表示します。 3. [関数名]ボックスから[IF]を選択し、[関数の引数]ダイアログ ボックスを表示します。 4. [論理式]ボックスに「B12=””」、[真の場合]ボックスに「””」 と入力します。 5. [偽の場合]ボックスにカーソルを移動し、[関数ボックス]の 下向き三角ボタンをクリックして、一覧から[VLOOKUP]を クリックし、VLOOKUP の[関数の引数]ダイアログ ボックスを表示します。 6. [検索値]ボックスに「B12」、[範囲]ボックスに 「商品一覧!$A$4:$C$14」、[列番号]ボックスに「2」、 [検索の型]ボックスに「FALSE」と入力します。 ※ 小文字で入力しても、数式を確定すると大文字に 変わります。 7. 数式バーで式を確認し、 OK ボタンをクリックします。 数式バー 現在編集中の関数部分が太字で表示されます。編集中以外の 関数の[関数の引数]ダイアログボックスを表示したい場合 は、編集したい関数の関数名や引数部分をクリックします。 8. セル C12 の数式をセル C19 までコピーします。 ≪IF 関数を使用した 3 つ以上の分岐≫ IF 関数の中に IF 関数をネストすると、条件により分岐させる処理を 3 つ以上に分けることができます。 【IF 関数のネストの例】 テストの点数が85 点以上なら“A”、70 点以上 85 点未満なら“B”、70 点未満なら“C”と表示する場合は、IF 関数を ネストします。 “商品一覧”シートにある ‘商品番号’が入力される と正しい‘商品名’が表示 されます。 “商品一覧”シートにない ‘商品番号’が入力される と“#N/A”のエラーが表示 されます。 ‘商品番号’が空白 のセルには何も表 示されません。 “納品書”シート “商品一覧”シート “A”と表示 点数85 点以上 点数70 点以上 “B”と表示 “C”と表示 Yes 真の場合 偽の場合 No Yes No 真の場合 偽の場合
第3章のトレーニング(1)
ここでは、VLOOKUP 関数や日付/時刻の関数の作成方法と IF 関数を使用したネストについて練習します。
STEP 1
Excel を起動し、My Documents から“3 章(1)関数-1.xls”ブックを開きましょう。
STEP 2 VLOOKUP 関数を使用して、入会名簿の‘種別 No’に番号を入力すると“会員種別表”(セル L6 から M9)を検索し、‘種別’に 種別名が表示されるように数式を作成しましょう。また‘種別No’を変更すると表示が変わることを確認しましょう。 ① セルF6 に、“会員種別表”から‘種別 No’(セル E6)に該当する ‘種別’を取り出すVLOOKUP 関数を作成します。 ※ 検索範囲は必ず絶対参照にします。 ② セルF6 の数式をセル F7 から F26 までコピーします。 ③ セルE6 の“1”を「2」に変更し、セル F6 が“ファミリー会員”に 変更されることを確認します。 ④ セルE6 の“2”を“会員種別表”にはない「5」に変更し、 該当するデータがないことを意味するエラー値“#N/A”が表示される ことを確認します。 ⑤ セルE6 の“5”を「1」に変更します。 STEP 3 DATE 関数を使用して、2003 年 12 月の‘入会年月日’を求めましょう。 ① セルH6 に、“佐々木 博”さんの‘入会日’(セル G6)を使用して、 ‘入会年月日’を求めます。 ② セルH6 の数式をセル H7 から H26 にコピーします。 STEP 4 セルI3 に NOW 関数を使用して、現在の日付と時刻を表示しましょう。 日付と時刻を表示する表示形式が 自動的に設定されます。 STEP 5 セルI3 の NOW 関数を削除し、TODAY 関数を手入力して、現在の日付を表示しましょう。 表示形式は[日付]にし、“○○○○年○月○日”と表示するように変更しましょう。 セルI3 には、NOW 関数を入力したときに日付と時刻を 表示する表示形式が設定されていますが、TODAY 関数 は日付の情報のみを取り出すため、時刻は“0:00”と表 示されています。
STEP 6 IF 関数をネストして、‘入会月会費’に‘入会日’が 25 日以降なら“無料”、10 日以降なら“半月分”、それ以外なら“1 ヶ月分” と表示されるようにしましょう。 ① セルI6 に、[関数の引数]ダイアログボックスを使用して、 IF 関数を作成します。 ② 論理式に「G6>=25」、真の場合に「無料」と入力します。 ③ 偽の場合に[関数]ボックスを使用して、IF 関数を挿入します。 関数ボックスには直前に使用した関数名 が表示され、一覧を表示することなく、 クリックで選択することができます。 ④ 2 つ目の IF 関数用の[関数の引数]ダイアログボックスに、 論理式に「G6>=10」、真の場合に「半月分」、偽の場合に 「1 ヶ月分」と入力し、 OK ボタンをクリックします。 ⑤ セルI6 の数式をセル I7 から I26 にコピーします。 STEP 7 今日の日付(セル I3)と各会員の‘入会年月日’のセルを使用して‘継続日数’を求めましょう。 ① セルJ6 に、今日の日付から“佐々木 博”さんの‘入会年月日’を減算する数式を入力します。 ※ 今日の日付は絶対参照にします。 ② セルJ6 の数式をセル J7 から J26 にコピーします。 STEP 8 上書き保存して、Excel を終了しましょう。
完成例
【入力されている数式・関数
F 列から H 列 】
第3章のトレーニング(2)
ここでは、VLOOKUP 関数や日付/時刻の関数の作成方法と IF 関数を使用してエラー値や“0”(ゼロ)を非表示にする方法に ついて練習しましょう。
STEP 1
Excel を起動し、My Documents から“3 章(2)関数-2.xls”ブックを開き、“納品書”シートをアクティブにしましょう。
STEP 2 TODAY 関数を使用して、“発行日”(セル F2)に今日の日付が表示されるようにしましょう。 STEP 3 IF 関数と VLOOKUP 関数を使用して、“納品書”シートの‘商品番号’(セル B12 から B19)に番号を入力すると、“商品一覧”シー トの“ペット用品一覧”(セル A4 から C14)を検索し、“納品書”シートの‘商品名’(セル C12 から C19)に、該当する商品名が 表示されるように数式を作成しましょう。但し、‘商品番号’のセルが空白の場合は、エラー値が表示されないようにします。 ‘商品名’を取り出すので、 VLOOKUP 関数の[列番号] は“2”となります。 STEP 4 STEP 3 と同様の操作で、“納品書”シートの‘単価’(セル D12 から D19)に、‘商品番号’に該当する単価が表示されるように 数式を作成しましょう。 ‘単価’を取り出すので、 VLOOKUP 関数の[列番号] は“3”となります。 STEP 5 “納品書”シートの‘金額’(セル F12 から F19)に、各商品の(単価×数量)を求めましょう。 但し、IF 関数を使用して‘数量’のセルが空白の場合は、計算結果“0”(ゼロ)が表示されないようにします。 STEP 6 “納品書”シートの“小計”(セル F20)を求めましょう。 STEP 7 IF 関数を使用して、“納品書”シートの“送料”(セル F21)に“小計”が 5,000 円を超えたら“0”円、5,000 円以下なら“400”円 と表示されるようにしましょう。 STEP 8 “納品書”シートの“合計”(セル F22)、“消費税”(セル F23)、“総計”(セル F24)を求めましょう。
STEP 9 “お支払合計金額”(セル C9)に“総計”(セル F24)と同じ数値が表示されるようにしましょう。 STEP10 セルB13 に“商品一覧”シートの“ペット用品一覧”にない‘商品番号’ 「PS003」を入力し、エラー値が表示されることを確認して、B13 に入力 した番号を削除しましょう。 STEP11 ‘商品番号’(セル B13)に「PS002」と入力すると、正しい‘商品名’と‘単価’が表示され、‘数量’(セル E13)に「2」と入力す ると‘金額’や“送料”などが再計算されることを確認しましょう。 STEP12 上書き保存して、Excel を終了しましょう。