Excelで書類を作る(関数の練習)

数式を含んだ書類の例として、見積書を作る。

文字データと書式

文字データを入力する。

文字入力(上)


文字入力(下)


書式を設定する。
B2〜H2を選択 → 「セルを結合して中央揃え」ボタン → フォントサイズを18にする → 「太字」ボタン

セルの結合と中央寄せとフォントサイズ18太字



B10〜B12を選択 → 「右揃え」ボタン → 左にはみ出ないようB列の列幅を拡大

右揃え



B12〜C12を選択 → フォントサイズ14 → 「太字」ボタン

太字



B14〜H14を選択 → 太字 → 「中央揃え」ボタン

中央揃え



日付の関数

TODAY関数でセルH1に今日の日付を表示する。
H列の列幅を11.00にする(年月日を表示するだけの幅を確保するため)→ H1に「=TODAY()」と半角で入力

TODAY関数


H1に今日の日付が表示されたはずである。
次に、C10に「=H1+14」と入力する。入力中はセルH1が青くなる。入力すると14日後の日付が計算される。

日付の計算


EOMONTH関数で翌月末の日付を求める。
C11を選択 → 「関数の挿入」ボタン → 関数の分類「日付/時刻」 → EOMONTHを選択して「OK」 → 関数の引数を設定して「OK」
引数(ひきすう)とは、関数に与える情報のことである。EOMONTH関数の場合は数え始めの日付(ここではH1)と○ヶ月後という月数(ここでは翌月つまり1ヶ月後なので1)を入力する。

関数ウィザードボタン


関数ウィザードでEOMONTHを選択


関数ウィザードで引数を設定



日付がシリアル値で表示されてしまった。 シリアル値とは、西暦1900年3月1日を61日目として、以降の日付を通し番号で数えた数値である。 なお、シリアル値1〜60は正しく認識されない。
シリアル値は、表示形式を変更すれば通常の日付の形式で表示することができる。
C列の幅を11.00にする(年月日を表示するだけの幅を確保するため) → C11を選択して右クリック → セルの書式設定

右クリックしてセルの書式設定



「表示形式タブ → 分類「日付」 → 「年/月/日」の形式を選ぶ → 「OK」

和暦にする



「年/月/日」の形式になった。

日付の表示形式



日付を和暦で表示することもできるので、セルH1・C10・C11の表示を和暦にしてみる。
H1とC10〜C11を選択して右クリック → セルの書式設定

右クリックしてセルの書式設定



「表示形式タブ → 分類「日付」 → 「年/月/日」の形式を選ぶ → 「OK」

和暦にする



「#########」になってしまった。 これは、列幅が不足している時の表示である。 そこで、C列とH列の列幅を拡げる。
C列とH列を選択 → 列番号CとDの境目(HとIの境目でもよい)をドラッグして列幅を15.00にする。

列幅拡大



和暦で表示された。

列幅拡大



商品リストの作成

見積書とは別のシートに商品リストを書いておく。
シート見出しの右隣の丸プラスボタンを押すと新しいシートが追加される。

新しいシートの追加



追加されたシートに、次のような商品リストを書く。
この時、A1に「F-001」と入力した後で改めてA1を選択し、セルポインター(選択したセルを囲む緑色の枠)の右下の角にあるフィルハンドルをA5までドラッグすると、A2〜A5に連続データを手早く入力できる。

連続データの入力



VLOOKUP関数

商品番号を入力すると、該当する商品名と単価が自動的に表示されるようにしたい。 VLOOKUP関数を使うとそれが実現できる。VLOOKUP関数は、表の中のデータを検索する関数である。
sheet1のセルC15を選択して関数ウィザードを開く

商品名のセル


関数の分類「検索/行列」 → VLOOKUPを選択 → 「OK」

VLOOKUP


第1引数「$B15」、第2引数「Sheet2!$A$1:$C$5」、第3引数「2」を入力(第4引数には何も書かない) → 「OK」
(「$」の意味は下で説明する)

VLOOKUPの引数を入力



エラーメッセージ「#N/A」が表示されるが、セルB15に商品番号を入力するとに対応する商品名になる。

#N/Aと表示される


商品番号に対応する商品名



C15の数式をD15にコピーして、VLOOKUP関数の第3引数を「3」に変更すると、商品番号に対応する単価が表示される。
C13を右クリックして「コピー」 → E13を右クリックして「貼り付けのオプション」の「数式」 → VLOOKUP関数の第3引数を「3」に変更

数式を貼り付け


VLOOKUP関数の第3引数を変更



セルE15に単価が表示された。

単価が表示された



相対参照と絶対参照

数式の中にセル番地を書くと、そのセルの値が参照される。これをセル参照と言う。
セル番地を含む数式を他のセルにコピーすると、セル番地はそのままコピーされるのではなく、コピー元との距離に応じて変化する。 例えば、右隣にコピーすると列番号が1つ進み、下隣にコピーすると行番号が1つ増える。 このようにコピー先で変化するセル参照を相対参照と言う。
しかし、セル番地の列番号あるいは行番号の左に「$」を付けておくと、その番号はコピー時に変化しなくなる。 コピーしても変化しないセル参照を絶対参照と言う。 上の例では、VLOOKUP関数の引数に含まれるセル参照は「$B15」「$A$1」「$C$5」であり、列番号は全て「$」の付いた絶対参照になっている。 そのため、右にコピーしても列番号は変化していない。
一方、行番号については、「$B15」の行番号は相対参照であり、「$A$1」「$C$5」の行番号は絶対参照である。 そのため、もしこの数式を下にコピーすれば、「$B15」の行番号だけが増え、「$A$1」「$C$5」の行番号は増えないことになる。


IF関数

VLOOKUP関数だけだと、商品番号が入力されていない時には「#N/A」になってしまう。 VLOOKUP関数とIF関数を併用することで、これを避けることができる。
C15を選択 → 「=」と「VLOOKUP」の間に「IF($B15="","",」と書き加え、さらに最後の「)」の後ろにもう1つ「)」を書き加える → Enter
セルB15の商品番号を消去してもエラーメッセージが出なくなる。 一方、IF関数を追加していないセルE15は「#N/A」となる。

IF関数



E15も同様にすればよいのだが、C15の数式をコピーしてから第3引数を「3」に書き換える方が簡単である。

単価も同様



残りの行にも数式をコピーする。
C15〜E15を選択 → フィルハンドルを第36行までドラッグ

数式をコピー


数式をコピー



セルB15〜B36に商品番号を入力すると対応する商品名・単価が表示されるようになった。

商品番号に対応する商品名と単価



残りのセルにも入力していく。
適当な数量を入力 → セルF15に金額を求める掛け算の式「=D15*E15」を入力する。

数量の値と金額の式を入力



金額が表示された。
次に、セルG15に消費税を求める式を入力するが、ROUNDDOWN関数を用いて小数点以下を切り捨てることにする。
G15を選択 → 「関数の挿入」ボタン

関数の挿入



関数の分類「数学/三角」 → ROUNDDOWNを選択 → 「OK」

ROUNDDOWN



第1引数「F15*0.1」、第2引数「0」 → 「OK」
ここで、第2引数の「0」は小数点以下を0桁残す(小数点以下を残さない)という意味である。

引数を入力



消費税額が表示された。
次に、H15に税込金額を求める足し算の式「=F15+G15」を入力する。

税込金額の式を入力



これで商品番号から税込金額までの7列すべてが表示された。 しかし、このままだと商品番号が入力されていない時にはセルF15〜H15にエラーメッセージ「#VALUE!」が表示されてしまう。

エラーメッセージ


そこで、F15〜H15にも先程と同様にIF関数を追加する。 すると、商品番号が空欄の時もエラーメッセージが出なくなる。

IF関数


先程と同じ方法でセルF15〜H15を36行目までコピー

数式をコピー


数式をコピー


商品番号を入力した行だけ金額が表示されるようになった。 ただし、数量に何も入力していないと「0」と見なして計算される。
試しに、セルB16とD17をクリアしてみよう。

金額



合計金額

セルB37〜E37を結合する。
B37〜E37を選択 → 「ホーム」タブの「結合して中央揃え」ボタンを押す

セル結合



セルF37にSUM関数を入力する。
F37を選択 → Σボタン(オートSUMボタン) → 引数(F15:F36)を入力 → Enter

Σボタン



F37の数式をG37とH37にコピー

数式をコピー



合計が計算されるようになった。

合計が計算された


合計が計算された


仕上げ

セルC12にも合計金額を表示する。
C12に「=H37」と入力

合計金額の表示



セルH37で計算した合計金額がそのまま表示された。

合計金額の表示



次に、数量・金額等の数値を桁区切り(3桁ごとのコンマ)付の表示にしてみる。
C12を選択 → 「ホーム」タブの「桁区切りスタイル」ボタン
桁区切りの付いた形式で表示されるようになった。

合計金額を桁区切りにする



数値が表示される他のセル(D15〜H36とF37〜H37)も同様にする。

数値セルを桁区切りにする



C12には円マーク「\」も表示する。
C12を選択 → 「通貨表示形式」ボタン

通貨記号



B14〜H37に罫線(格子)を引き、さらに外枠と項目名の下には太線を、合計の上には二重線を引く。

罫線


罫線



印刷プレビューを見ると、1枚の紙に入り切れず、2枚になってしまっている。

印刷プレビュー



何とか1枚に収まるよう工夫する。
「狭い余白」を選択

狭い余白



1枚に収まったが、全体が右に寄ってしまっている。A列の分が余白になっているからである。
左上の「戻る」ボタン(左矢印のボタン)を押してシートに戻ると、印刷範囲を表す点線が表示されている。 これはExcelを再起動すれば消えるが、今は気にせず作業を進めることにする。
A列の列幅を4.00にすると、ほぼ真ん中に印刷されるようになる。

列幅調整



もう一度、印刷プレビューで確認した上で、PDFファイルに出力して、完成。

見積書完成