作成日:2021/04/12 更新日:2022/07/04

#1 エクセル関数について

エクセル関数とは

Webページを作成するときに演出を入れたりユーザーの入力に応じた処理をしたりするjavascript、データベースのデータを操作するPHP言語... などの習得に入る前に、エクセル関数を使って「プログラミング」について理解していきましょう。

PHPだと目的のデータを取り出して表示するまでに、SQL文を発行してDBに接続し、戻り値をhtmlで表示させ....といった 複数の手順が必要ですが、エクセルの場合は「その場で」目に見えて結果が表示されるので、計算式が理解しやすいので、簡単なプログラミング学習に最適です。

まずは下のエクセルファイルをダウンロードして開いてみてください。
※Googleスプレッドシートでも大丈夫です。MacのNumbersではいくつか利用できない関数があります。

エクセルのセル内(枠の中)で改行する場合は

MACの人は「⌘+option+エンター」で改行できます。WINの人は「Alt+エンター」で改行できます。

#2 エクセル関数(売上票を作る)

まずはサンプルデータをダウンロード

数式(四則計算)を入れてみよう

①計算結果を表示したいセルをクリック
②「=」イコールを入力
③対象のセルをクリックすると、自動でセル番号が入力されます
④足し算したい場合「+」を入力後足したいセル番号を入力
⑤エンターキーで決定

オートフィルコピーを使う

同じ計算式で、対象のセルが変わる場合に自動で計算式を入力してくれます。

IF文で、条件によって答えを切り分ける

利益率を入れてみましょう。
利益率の計算式は「利益÷売上」なので「D6/D4」となります。しかし、売上が0で仕入れしかない場合エラーとなってしまいます。 エラー表示の「#DIV/0!Divide by zero」とは「0で割ってますよ!」という意味です。
※ %表示は予め設定しているものとします。

=IF(      // もし
  D4=0,   // [条件式] D4が0なら
  "",     // [真→true] 何も表示させない
  D6/D4   // [偽→false] D4が0以外なら、D6/D4を表示する
)

エラー文について

数式を書いて結果を表示した際に、以下のような表示になる場合があります。
#DIV/0!ディバイド バイ ゼロ(Divide[Division] by zero)→ 0で割り算してます
#VALUE!不適切なデータが入っている
#NAEM?関数名や範囲名が間違っている
#NUM!大きすぎる数値又は小さすぎる数値
#REF!セルが参照できない
#N/ANot Available value=利用不可。関数や数式に使用できる値がない
#NULL!セル範囲のミス

エラー文の回避について

IS系の関数を使ってエラーを表示させないほうが、表がきれいになって良いです。
ISERROR、ISBLANK、ISNUMBER、ISTEXTなどを使って、エラーのときに空白にする処理をいれます。

=IF(
  ISBLANK(D1),
  "-",
  D2/D1
)
D1が空白セルの場合、-を表示します。それ以外の場合はD2/D1を計算します。

=IF(
  D1>"",
  D2/D1,
  ""
)
別の書き方として、D1>""という書き方があります。これはD1セルになにか文字があればという意味になります。 文字があればD2/D1を計算しなければ空白になります。
>は否定、""は空白、なので「空白でなければ=なにか文字があれば」となります。

テキスト内に式を埋め込む(TEXT)

文字列に計算された数値が自動で入れば、数値が変更されても、わざわざ手入力しなくて良いので便利です。 またそれ以上に、数字の打ち間違いといった「ヒューマンエラー」を防ぐことがメリットです。
文字列に特定のセル内容を入れるにはTEXT関数を使います。 「=」で始まる式になるので、文字列はすべて""ダブルクオーテーションで囲います。 またTEXT関数と文字列は「&」で繋いでいきます。

#1桁の数字を示します。# の数だけ桁数が指定され、その有効桁数しか表示されません。また、余分な 0 も表示されません。
01桁の数字を示すが、指定したゼロの桁数だけ常にゼロが表示されます。
?桁数の異なる複数の小数を揃えて表示する場合に使います。
,位取り記号のカンマを出します
他には時間形式にしたい場合は「h:mm」などが有ります

="何か文字列" & TEXT(対象のセル, "表示形式") & "何か文字列"

="今年の売上高は" & TEXT(P17,"#,0") & "円でした。"
="今年の目標達成率は" & TEXT(P21, "#.#0%") & "です。"

数字の切り上げ(FLOOR, CEILING)

目標値を設定するのですが、今年の全体売上高を参考にして、来年の売上高を3パターン計画してみようと思います。 4,423,675円というのは見にくいので、10万円単位は0を並べて、4,400,000とスッキリさせたいです。

FLOOR :数値を基準値の倍数に切り捨て (数値, 基準値)
CEILING:数値を基準値の倍数に切り上げ (数値, 基準値)
↓
FLOOR	=FLOOR(A1, 100)  A1を100で切捨て ex) 2,560→2,500
CEILING	=CEILING(A1, 0:15)  A1を15分単位で切り上げ ex) 56:37→56:45
↓
=FLOOR(D17, 100000)
=CEILING(D17, 100000)
=CEILING(D17*110%, 100000)