今回は「WEEKDAY関数の使い方」についてです。
1.そもそもExcel関数とは?
そもそもExcel関数とは何かについての説明です。
説明が不要な方はここは読み飛ばして次へ進んでください。
Excelは表計算ソフトと呼ばれています。
表を作ったり、計算したり、表の内容からグラフを作成したりできる便利なソフトです。
Excel関数は、そんなExcel内での計算を簡単に行う為に用意されている機能のことです。
数値の合計を求める為の関数や数値の平均を求める為の関数といったものが予め用意されているわけです。
例えば、以下のようにセルに数値が入力されているとします。
セルとは、Excelの1マスのことです。
横の行を数字、縦の列をアルファベットで表していて、図1の場合はB2・C2・D2・E2に数値が入力されているという表し方になります。
これらの数値の合計を求める場合、普通に計算すると「=B2+C2+D2+E2」と計算結果を表示したいセルに入力する必要があります。
計算が単純な場合はこの方法でも手間ではないですが、もっと複雑化した場合はこんなことやってられませんよね?
そこで登場するのがExcel関数です。
「=B2+C2+D2+E2」をExcel関数を用いて表すと、「=SUM(B2:E2)」となります。
SUMが関数名、()内が引数(範囲や条件を指定している)を表しています。
Excel関数の基本形式(以降は論理式と呼びます)は「=関数名(引数)」になります。
SUM関数は指定したセル範囲内の数値の合計を求める関数です。
B2:E2はB2~E2、つまりB2・C2・D2・E2のセル範囲を指しています。
なので、B2・C2・D2・E2のセル範囲の合計値を求められるわけです。
実際にやってみましょう。
適当なセル(図2ではB5にしている)を選び、「=sum」と入力します。
すると、関数の候補がズラッと出てきます。
この候補にマウスカーソルを持ってくと、その関数がどんな機能を持つのか説明が出てきます。
SUMの場合は「セルに含まれる数値をすべて合計します。」と表示されていますね。
「=sum(」まで入力するとSUM関数を使うと認識され、()内に入力すべき引数の説明が表示されます。
SUM関数の場合はセル範囲を指定すればいいので、直接「B2:E2」と入力するか、実際にセルをクリックします。
この例の場合、B2を右クリックした状態でE2までドラッグすると勝手に「B2:E2」の部分が入力されます。
あとは()を閉じてEnterを押すと合計値が算出されます。
SUM関数を例にExcel関数とはどんなものなのかを簡単に説明してみました。
一度覚えてしまえばすんなり理解できるのではないでしょうか?
ただ、関数ごとに引数の入力ルールが異なるので、そもそもどんな関数があるのか・引数はどう入力すればいいのかは調べてみないことにはわかりません。
ものによっては説明を見ても何を言っているのか全くわからなかったりします。
なので、この記事ではなるべくどんな方でも理解できるように意味を噛み砕いて説明していけたらと思っています。(願望)
2.シリアル値についての補足説明
NOW関数・TODAY関数・DAY関数・MONTH関数・YEAR関数などを使用する場合、シリアル値という概念が出てきます。
なので、シリアル値について簡単に補足しておきます。
シリアル値とは、「1900年1月1日」を基準として通算日数をカウントしたものです。
日付の長ったらしい表記を数字で表現してしまおうという試みですね。
- 「1900年1月1日」は「1」
- 「1900年1月2日」は「2」
- 「1900年1月3日」は「3」
上記のように表されます。
また、シリアル値は日付だけでなく時間も表すことが可能です。
年月日は切りのいい数字で表せますが、何時何分まで表そうとすると小数点を使用しなければならなくなります。
小数点を使ってまでシリアル値を取り扱うことなんて基本無いので、そうなるということだけ頭の片隅に置いておいてください。
ちなみに、セルの書式は通常図3のように「標準」になっていますが、ここを「数値」に変更した状態で適当な数字を入力するとシリアル値扱いになります。
この状態でセルの書式を「日付」に変更すると、入力した数値(シリアル値)に対応した日付が表示されます。
3.WEEKDAY関数の使い方
WEEKDAY関数は、シリアル値から“曜日”部分を求めて数字で表示する関数です。
WEEKDAY=平日という意味なので機能と直結しないような気がしますが、考えないようにしましょう♨
WEEKDAY関数の論理式は以下のようになります。
=WEEKDAY(シリアル値,[種類])
引数の解説をしていきます。
「シリアル値」には、シリアル値もしくはシリアル値を出力する関数を入力します。
シリアル値を表示する何かであれば引数として使える感じですね。
「[種類]」は、「シリアル値」の情報を複数ある法則の中からどの法則に従って表現するかを決定するための引数です。
以下のように表示形式が複数種類あるので、好きなパターンを選びましょうという話です。
「[種類]」だと読みづらいので、以降は「種類」と書きますね。
仮に「種類」に「1」と入力すると、「数値1(日曜日)~7(土曜日)」が選択されます。
この場合、日曜日を示す「シリアル値」が入力されていれば「1」と表示され、月曜日を示す「シリアル値」が入力されていれば「2」と表示されるようになります。
例えば、「1900年4月9日(月)」はシリアル値で「100」なので、「=WEEKDAY(100,1)」とセルに入力すると「種類1」に準拠して月曜日を表す「2」が表示されます。
「種類」の候補は実際にWEEKDAY関数を使用すると図5のように表示されるようになっているので覚える必要はありません。
以上のように、WEEKDAY関数はあくまで曜日を表す数字を表示する関数なので、直接シリアル値が示す曜日を表示したい・知りたいという場合は若干わかりづらいです。
もし曜日を直接表示したいという場合はWEEKDAY関数ではなくTEXT関数を使いましょう。
ではこんな関数何に使うのかというと、IF関数や条件付き書式設定などと併用して使う場面があります。
例を挙げると、セルに「=IF(WEEKDAY(A1,1)=7,“土曜日”,“土曜日以外”)」という数式を入力すると、A1セルのシリアル値が土曜日(7)を示す時は「土曜日」と表示され、土曜日以外(7以外)を示す時は「土曜日以外」と表示されるようになります。
このように、疑似的にTEXT関数と同じようなことができたりするんですね。
条件付き書式設定について詳しく知りたい場合は、以下の記事を参考にしてみてください。
もう1つ使用例を載せておきます。
この例は条件付き書式を利用したものです。
以下のように日付が入力されているとします。
試しに、WEEKDAY関数を応用して土曜・日曜に該当するシリアル値を含むセルだけ自動で塗りつぶす設定をしてみます。
A3:J3を選択した状態で「新しいルール」を開きます。
「ホーム」⇒「条件付き書式」⇒「新しいルール」
ここで、数式を以下のように設定します。
この数式は、「A3セルに含まれているシリアル値が土曜日を指し示している、または日曜日を指し示している場合」を指しています。
「WEEKDAY(A3,1)=7」部分が土曜日の時、「WEEKDAY(A3,1)=7」部分が日曜日の時を指定しています。
OR関数はそのどちらかが正しい時に“正”とする関数なので、「A3セルに土曜日か日曜日を示すシリアル値を入力されている場合」という条件付けをすることができるようになります。
あとは「書式」をクリックしてセルの色を変えるように設定すれば、以下のように土曜日か日曜日を示すセルのみ塗りつぶされるようになります。
ちなみに、OR関数を知らなくても土曜日を指定する条件と日曜日を指定する条件を別個に設定したり、WEEKDAY関数の「種類」を変更して不等号を使用するなど工夫次第で設定は可能です。
以上、「WEEKDAY数の使い方」についてでした。