【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。毎週木曜日更新。
過去の記事一覧【エクセル時短まとめ】
業務上、自分のスケジュール管理やチームでの共有のため、日付と曜日が1行ずつになった予定表を作成することがあると思います。
こうした予定表はテンプレートを探すより、自分で作ったほうが手早く、融通の利くものにできるのですが、効率的な作り方を知らないと苦戦します。例えば、日付や曜日を連続入力する方法は覚えていますか? 土日や祝祭日の行だけ色を塗る方法はわかりますか?
【エクセル時短】第91回では、オリジナルの年間予定表を作りながら、Excelの「フィル」と「条件付き書式」をおさらいしていきましょう。
連続した大量の日付は「フィル」で解決
ここでは2019年の1月1日から、12月31日までの予定表を作成します。まずは日付と曜日を入力しましょう。といっても、手入力するのは「1月1日」と関数式だけです。
日付の連続入力といえば、フィルハンドルをドラッグする「オートフィル」が思い浮かびますが、「1月1日」から「12月31日」までドラッグし続けるのは大変です。「フィル」の機能を使ったほうがすばやく行えます。
また、曜日は入力済みの日付を引数としたTEXT関数で表示すると正確です。手順は以下のようになります。>
1[連続データ]ダイアログボックスを表示する
予定表の最初のセル、ここではセルA3に「1月1日」と入力しておきます。続いて[ホーム]タブの[編集]-[フィル]-[連続データの作成]の順にクリックしましょう。
2連続データの方向と停止値を指定する
[連続データ]ダイアログボックスが表示されました。ここでは縦方向へ連続データを作成するので、[範囲]は[列]を指定します。日付の入力されたセルを選択しているので、[種類]と[増加単位]は自動的に設定されます。[停止値]には「2019/12/31」と入力します。
3TEXT関数を入力する
1月1日からの連続データが入力されました。続けて曜日を入力します。「月」と入力してオートフィルで入力してもいいのですが、間違いを防ぐためにTEXT関数を利用します。セルB3に「=TEXT(A3,"aaa")」と入力しましょう。セルA3に入力された「2019/1/1」の表示形式を曜日に変換するという意味です。
41月1日〜12月31日までの曜日を入力する
TEXT関数により「火」と表示されました。ここでセルB3のフィルハンドルをダブルクリックすると......
予定表の最後まで、曜日が一気に表示されます。セルA3からA367までデータが入力されているので、フィルハンドルをドラッグする必要はありません。
条件付き書式とWEEKDAY関数で土日を色分け
次に「条件付き書式」を利用して、土日の色を変えてみましょう。条件付き書式を設定したいセル範囲を、あらかじめ選択しておくことがポイントです。
ここで作成した予定表は縦に長いので、[Ctrl]+[Shift]+矢印キーを使ってのセル選択がオススメです。
5[新しい書式ルール]ダイアログボックスを表示する
条件付き書式を設定したいセル範囲を選択しておきます。続いて[ホーム]タブの[条件付き書式]-[新しいルール]の順にクリックしましょう。
6土曜日の場合の書式を設定する
[新しい書式ルール]ダイアログボックスが表示されました。[数式を使用して、書式設定するセルを決定]を選択し、条件式として「=WEEKDAY($A3)=7」と入力します。WEEKDAY関数は日付から曜日を取り出す関数で、「7」は土曜日の意味になります。また、[書式]ボタンからセルの書式を設定しておいてください。
7日曜日の場合の書式を設定する
土曜日の場合のセル書式を設定できました。さらに日曜日の場合の条件付き書式を設定するため、[新しい書式ルール]ダイアログボックスを表示します。
先ほどと同様に[数式を使用して、書式設定するセルを決定]を選択し、条件式は「=WEEKDAY($A3)=1」と入力します。「1」は日曜日の意味です。また、[書式]ボタンから書式を設定しておきます。
8土日の書式を設定できた
条件付き書式を使って、土日の書式を設定できました。
祝祭日の条件付き書式は関数の組み合わせで
さらに祝祭日の色も設定しましょう。下準備として、予定表とは別のシートに祝祭日の一覧をテーブルとして用意しておきます。
そのテーブルを条件付き書式の条件式に利用すれば、あとで特別な休日を追加することになってもテーブルだけ修正すればよく、条件付き書式を修正する必要はありません。
9テーブル名を変更する
祝祭日の入力してあるテーブルの任意のセルを選択し、[テーブルツール]の[デザイン]タブで[テーブル名:]を変更します。ここでは「祝祭日」としました。
10祝祭日の条件付き書式を設定する
予定表のシートに切り替えて、条件付き書式を設定したいセル範囲を選択しておきます。土日の場合と同様に[新しい書式ルール]ダイアログボックスを表示し、[数式を使用して、書式設定するセルを決定]を選択、条件式には「=COUNTIF(INDIRECT("祝祭日[日付]"),$A3)=1」と入力します。書式は[書式]ボタンから設定しておいてください。
この関数式はやや複雑なので説明しましょう。COUNTIF関数は、範囲から検索条件を数える関数です。ここでは「INDIRECT("祝祭日[日付]")」が範囲になります。検索条件は「A3」、すなわち予定表の日付です。
INDIRECT関数はセルを参照する関数で、ここでは「祝祭日」テーブルの「日付」列を参照します。「祝祭日」テーブルの「日付」列に予定表と同じ日付があれば、COUNTIF関数の結果が「1」となるので、それが祝祭日であると判定できるわけです。
11祝祭日の条件付き書式を設定できた
条件付き書式により、祝祭日の色が変わりました。
12祝祭日を追加する
「祝祭日」テーブルに日付を追加して、条件付き書式の動きを確認してみましょう。「祝祭日」テーブルのシートに切り替えて、一覧の最後に日付を追加します。ここでは「2019/1/18 創立記念日」を追加しました。
13[条件付き書式]の動きを確認する
予定表のシートに切り替えると、1月18日の書式が変わっているのが分かります。
いかがでしたでしょうか。「フィル」の機能は大量のデータを一括で入力するのに有効です。ぜひ活用してください。
また、今回は「条件付き書式」で祝祭日の書式を変更する際、別のワークシートにある「祝祭日」テーブルを参照しました。条件式は「=COUNTIF(INDIRECT("祝祭日[日付]"),$A3)=1」。テーブルの列を構造化参照したいときは、INDIRECT関数を使うとうまくいきます。>
2019年の【エクセル時短】は以上です。次回は2019年1月10日(木)を予定しています。みなさま良い年をお迎えください。