2016のものですが、操作方法は下記のバージョンで同じです。10.5KB)図の表には、日付が入力されています。これに、ただ曜日を表示させるだけなら、ユーザー定義の表示形式を使って設定すればOK。この例では、日付とともに、曜日を全角括弧で囲んで表示するように設定しています。ユーザー定義の表示形式で、自分の思い通りの日付と曜日の表現ができました!ところが、C2番地に「A2番地が水曜日だったら「休業日」と表示させる」といった、曜日によって何かしらの処理をしたい場合には、このままでは何もできないんです。「A2番地が水曜日だったら「休業日」と表示させる」という処理にはIF関数を使います。その際、「A2番地が水曜日だったら」の部分を数式で表現しようとしてもできないんです!それは日付と曜日が表示されているA2番地を選択してみれば分かります。選択したセルの中身は、数式バーに映し出されるわけですが、あくまでもこのセルに入力されているのは日付。それを表示形式という「見かけ」の設定で曜日も表示させているだけなので、このセルに直接、「○曜日」という文字が入力されているわけではないからなんです。「○曜日」という文字が入力されているわけではないので、当然「A2番地が水曜日だったら」の数式は成り立ちません。そこで!こういった、曜日によって何かしらの処理をしたい場合には、「見かけ」ではなく、きっちりデータとして曜日を扱えるようにしなければなりません。その、データとして扱えるような曜日を、日付から割り出してくれるのが、今回ご紹介するWEEKDAY関数です!WEEKDAY関数の基本それでは、A2番地の日付をもとに、曜日を表すデータが表示されるようにしていきましょう。今回、曜日を表すデータはB2番地に表示したいので、まずはB2番地を選択し、数式バーの[関数の挿入]ボタンをクリックします。関数を指定するためのダイアログボックスが表示されるので、[関数の分類]で「すべて表示」を選択すると、すべての関数が[関数名]欄にABC順で表示されます。今回はWEEKDAY関数を使いたいので、一覧から「WEEKDAY」をクリックで選択し、[OK]ボタンを押します。ちなみに、この一覧から「WEEKDAY」を選択する際、「WEEKDAY」の頭文字である「W」のところまで、一瞬でスクロールする技を使うと便利です。前のダイアログボックスで「WEEKDAY」を選択して[OK]ボタンをクリックすると、このようなダイアログボックスが表示されます。[シリアル値]欄には、曜日を割り出すための日付が入力されているセルを指定します。日付が入力されているA2番地をクリックで選択します。[シリアル値]欄に、日付が入力されているセルを指定することができました。続いて[種類]欄の指定に移りたいので、キーボードの[Tab]キーをポンッと押すと、[種類]欄に文字カーソルが移ります。この[種類]欄には、曜日の答え方を指定します。実はこのWEEKDAY関数、答えを「○曜日」という曜日の名前ではなく、曜日を表す「数字」を答えとして表示します。数えると、曜日は全部で7つあるので、この関数で答えとして表示される、曜日を表す「数字」も「1」〜「7」となります。その答えとなる曜日を表す「数字」で、何曜日を答え「1」とするかを、私たち自身が決められるようになっています。日曜日を起点の「1」とし、月曜日を「2」、火曜日を「3」・・・のように答えを表示させたい場合には、この[種類]欄に「1」と入力するか、または何も入力せずに省略します。この時、[種類]を「1」とすると、答えのどの数字が何曜日を表すのかな?と思ったりしますが、[種類]欄に文字カーソルがあれば、ちゃんとダイアログボックスに表示されているので大丈夫です。7他にも[種類]の指定方法があるのですが、あとでご紹介するので、先に進みましょう。ダイアログボックス右下の[OK]ボタンをクリックします。7ここで、このWEEKDAY関数について振り返ってみることにしましょう。WEEKDAY関数を入力したB2番地を選択した状態で数式バーを見ると、入力した数式の内容が確認できます。先程ダイアログボックスで指定した[シリアル値]、[種類]は、数式のこの部分に該当します。ちなみに「シリアル値」と聞くと、難しそうで具合悪くなりそうですが、「日付を表すデータ」と読み替えるといいと思います。詳しく知りたい方は「Excelで日時を扱うために知っておきたいシリアル値(日付編)」をご覧ください。いうわけで、この数式をかみ砕くと、「A2の日付から、「1」の答え方で、曜日を割り出してね」ということになります。さぁ、答えを表示させる欄の先頭のセルに、数式を入力し終わったので、残りのセルにも数式を入力していきましょう。5それにしても、「なんでこんなに、答えの表示の仕方を変えられるようになってるんだ!」とイラっときそうですが、手帳なんかだと、週初めが日曜日のものと、月曜日のものがあると思います。使う人によって、どちらが使いやすいか、意見が分かれるのと同じで、答えの「1」が「日曜」を示すようにするのか、「月曜」を示すようにするのかを好みで選べる、と考えるといいと思います。「何事もゼロスタートだろう」と考える方のために、月曜スタートが「1」ではなく「0」で表示される指定もある、と考えるといいと思います。割り出した曜日を表す数字を、処理に使うWEEKDAY関数で、データとして扱える曜日(数字だけど)を準備できたので、これを使えば様々な処理ができるようになります。今回は例として、C2番地に「もしB2番地のデータが水曜を表すものだったら「休業日」、そうじゃなければ空欄を表示させる」という処理をしてみたいと思います。7ということは、「もしB2番地のデータが水曜を表すものだったら「休業日」、そうじゃなければ空欄を表示させる」の、「もしB2番地のデータが水曜を表すものだったら」の部分は、「もしB2番地のデータが4だったら」ということになるので、C2番地に入力する数式はこのようになります。この数式を拡大するとこんな感じ。IF関数を使った数式です。そもそもこういった数式を組めるのも、予めWEEKDAY関数を使って、曜日をデータとして扱えるようにしたからこそ、というわけです。それから、「数式を入れたC2番地に答えが何も表示されない!」と思って焦ったそこのあなた!このセルには「水曜じゃなければ空欄」になるよう数式を設定してあるので、何も表示されなくてむしろ正解です。水曜に「休業日」と表示させた、表の完成です!ちなみにこの表では、WEEKDAY関数をB列に入力し、そのB列のデータを使って、C列にIF関数を組むという2段階方式を使っていますが、ワンクッションのためのB列が邪魔だなぁと思う方は、ワンクッションを置かずに、関数のネストを使って、1つのセルでIF関数とWEEKDAY関数の処理をするといいと思います。(練習用データを操作しながらご覧頂いている方で興味のある方は、Sheet2に練習用の表があるので、チャレンジしてみてください。)ここまでで、WEEKDAY関数の基本と、使い方の例をご覧いただきました。結局のところ大切なのは、WEEKDAY関数が必要な理由。入力した日付に対応する曜日を、表示させるだけなら表示形式を使えばいい。曜日によって何かしらの処理をしたい場合には、表示形式という「見かけ」ではなく、きっちりデータとして曜日を扱えるようにしなければならない。日付から曜日を割り出すWEEKDAY関数ホームサイトマップリンクについてよくあるお問合せメール。