メインコンテンツへスキップ
見出し画像

[EXCEL] 日程表作成レッスン7 開始時間と終了時間の欄を作る(時刻はリストで選択)

    ▶ 目次 > 入力 > 日付 関連記事:日付と時間


    【まとめ】
    こんな日程表を作ってみます。1年分がシートになっています。

    画像

    主な特徴(仕様と作成内容がごっちゃです)
    *この表が「絶対」というわけではありません。一例としてどうぞ。
    1 各日3行。ただし、日付表示は冒頭行だけ。
    2 日付・曜日は自動表示
    3 土日に色付け(土日同色。日付欄以外にも色付け)
    4 閉庁日(祝日等)に色付け(土日とは異色)
      *事前に閉庁日リストを作成
    5 1年分の枠を一気に作成
    6 週番号を表示
    7 開始と終了時間の欄を作る・・・今回はここ

    画像

    *必ずしも上の順番である必要はないが、上の順番だと手戻りが少ない(はず)。

    【説明】
    過去記事で、日程表の作り方について順次掲載していくといいましたが、その第7回です。
    前回までで、こんな表を作成しました。

    画像

    概ねこれで完成です。このまま使っても支障ありません。

    でも、1行に1案件を入れていくと、その案件の実施時間(会議とかイベントとか出張とか)を入れたくなります。
    時間は重要な要素なので、「項目」欄とは別に欄を設けます。

    といっても、列挿入して項目を入れれば出来上がりです。

    画像

    これでも特に問題ありません。

    ただし、列挿入しているため、挿入した3列は、前の列であるC列の書式を引き継いでいます。
    そのため、D列とF列は、「セルの書式設定」で「時刻」にしておきます。
    これをしておかないと、「時刻」を入力しても左のC列と同じく「曜日」が表示されてしまいます。

    画像

    これで、時刻を入力すると、その時刻が表示されます。

    でも・・・
    「時間(時刻)」って入れづらいですよね。
    「10:00」とか「13:30」とか。
    数字だけならともかく、「:」を入れるのが地味に面倒。
    勿論「1000」「1300」みたいに簡略化して入れる手もありますが、「なんで「:」が入っていないんだ」と文句を言う人がいるかもしれません。
    個人的には、その欄が「時間」という項目になっていれば、「:」はなくてもいいと思います。単なる数値と混同することはないわけですから。
    でも、そういう細かいことにうるさく言うことに存在意義を感じている人もいますからね・・・。

    それはともかく、「時間」はやはり「:」があるのが一般的です。
    でも、入力が面倒。

    どうすれば簡単に入力できるか、考えてみます。

    Copilotに聞いたところ、「セルの書式設定」で「時刻」を選択しておけば、1040でも10:40と時刻表示される」とのことです。

    画像

    しかし、私の環境ではダメでした。
    1040と入れると、1902年11月5日と認識されます。

    画像

    別の方法として、以前、単語登録で 「 .. 」を「 : 」にするという方法を紹介しているサイトをみかけたことがあります。

    画像

    「..」は、通常使わないので、なるほどな、と思いました。

    画像
    .. ▶ :

    ただし、所属全員にこれをやってもらうのも面倒だし、そもそも「 .. 」を打つこと自体面倒な気もします。


    私が考えたのは・・・
    会議やイベントの多くは開始時間が決まっています。
    大体、毎正時(例:10時ちょうど)か、毎時半(毎時30分、つまり10:30とか11:30とか)です。
    ならば、想定される主な開始時間(と終了時間)をリスト化しておけば、後は、そこから選ぶだけです。
    「リスト」というシートを作り、主な時間を入れていきます。
    朝は8時からにしてみます。

    画像

    間隔は30分でも、15分でも構いません。ここでは30分にします。

    しかし、このリスト、手作業で入れていくのは面倒です。
    30分でも、1時間に2つ。12時間分なら24セル分。
    15分間隔なら尚更。12時間で48セルに入力が必要です。
    しかも、間違える恐れもあります。

    なので、数式でリストを作ります。
    といっても簡単。
    「時刻」というシートを作って、
    30分毎なら
    最初の時間はセルに手入力し、その横に、間隔(この場合は30分)を入れます。
    あとは、それを足すだけ。

    画像
    「時刻」シートを作って
    上のように入力

    上の時間に、「0:30」を足していけば、等間隔の時刻があっという間にできます。
    「0:30」は、常に変わらないので、「$」月の「絶対参照」にしておきます。
    後は下にドラッグすればOKです。

    画像

    終わりの時刻が足りなければ、更に下にコピーします。
    今回は23:30までにしておきます(24時は「0:00」になりますが、24:00にする方法もあります)。
    以上で時刻設定は終了。

    後は、セルでリストを選ぶようにすればいいだけです。

    時刻を入力するセルを選んだら、
    Alt ⇒ A ⇒ V ⇒ V で「セルの入力規則」ダイアログが開きます。

    画像

    運指的にも無理がないので、Altから始まる「流れ打ち」を推奨しますが、いずれマウスを使うので、マウスで操作してもいいのでしょう。

    画像

    「入力値の種類から「リスト」を選び

    画像

    「時刻」の範囲を選択します。

    画像
    「時刻」はテーブル化していません

    これで、「時刻」リストからプルダウンで選択が可能です。

    画像

    プルダウンリストは、マウスで「▼」をクリックしなくても、
    Alt + ↓  で表示し、↓ ⇒ Enter で選択可能ですので、マウスを握る必要はありません。

    ただし・・・
    この設定だと、「時刻」リストに載っている時刻以外は入れられません。
    11:10とか13:10とか、刻んだ時刻を入れようとすると・・・

    画像

    ダメと言われてしまいます。

    これ、困りますよね。
    とはいえ、「時刻」リストに細かく時刻を掲載していくと、今度は選ぶのが大変になります。

    解決策は、
    「時刻」リストに載っていない時刻を手入力してもエラー扱いしない、
    です。

    先ほど設定した「セルの入力規則」は以下の通りです。

    画像

    これは、Alt ⇒ A ⇒ V ⇒ V で呼び出せます。
    そうしたら「エラーメッセージ」タブを選択し、

    画像

    「☑無効なデータが入力されたらエラーメッセージを表示する」のチェックを外します(Alt+S)。

    画像

    これで「OK」を押すと、リストにない時間を手入力することができます。

    画像

    後はこのセルをコピーして、「入力規則」のみ貼付ければOKです。
    Ctrl+C ⇒ Alt ⇒ E ⇒ S ⇒ N ですね。

    画像

    ただし・・・その前に設定しておくことがあります。


    「~」を自動で表示する


    開始~終了 の間の「~」です。
    この「~」は、各日の一番上の行に入れると表示されます。
    でも、2行目にも入力しても表示されません。
    なぜか?
    それは列挿入したため、C列同様「上と同じデータは表示しない」という「条件付き書式」が機能しているからです。
    それだと困るので、この「条件付き書式」を削除します。

    ① E列を範囲指定
    ② Alt ⇒ H ⇒ L ⇒ R で「条件付き書式」の管理を開く

    画像

    ③ 下の2つの書式を選択して「ルールの削除」をクリック

    画像

    これでOKです。
    削除した「条件付き書式」は、「上のセルと同じならセル内のデータを表示しない」というものです。
    [EXCEL] 日程表作成レッスン1 各日3行(日付は1行目だけ)で設定したものです。順番に設定したので2つの設定となっています。

    *条件付き書式は、「相対参照」($なし)にしても、そのセルの番地が表示されないという難点があります。そのため、「条件付き書式」の修正や削除は、どこを参照しているのかわかりづらいという難点があります。これが「条件付き書式」をわかりづらく(使いづらく)している一因だと思っています。
    対応措置としては、適用範囲の一番最初のセルから見た参照セルを想像する、ぐらいでしょうか。これについては、他に選択肢がないか今後も検討していきます。


    これで、「~」を入力すると2行名以下でも表示されます(普通の状態に戻った、といえます)。

    画像

    しかし、「~」って入力、地味に面倒じゃないですか?
    そんなことない、という人もいるかと思いますが、ホームポジションから指を話すことはできるだけ避けたいものです。
    私は、「~」は無意識に右手の薬指で押しますが(同時に左手小指でShiftもおしている)、苦手な人もいるでしょう。
    そもそも、「開始」時間が入ったら、必ず「~」が必要です(「終了」は未定の場合があるので空欄になる可能性もある)。
    ならば、「開始」に時間が入ったら、自動で「~」を表示するようにすれば、「~」を入力する必要はなくなります。
    「~」は Shift + ^ の2キー同時押しです。一瞬です。
    でも、その1工程を簡単になくせるかどうか、こういった考えが「効率化」にむずびついていきます(1工程減らすためにものすごく手間がかかるのなら、それはしない方がいいでしょう)。

    対応は簡単です。
    「開始」に時間が入ったら、「~」を表示する、だけです。
    つまり、
    もし、「開始」セルに時間(=数値化すると0より大きいもの)が入ったら、「~」を表示し、「開始」セルが空白だったら(=時間が入らなければ)、何も表示しない」です。

    これを数式で表すと
    =IF(開始セル>0,"~","")
    となります。これだけです。

    開始セルがD4(4/1の2行目)だとすれば、以下の通りです。

    画像

    D4セルが空欄なら(Del「11:00」を消すと)

    画像

    「~」も消えます。
    通常は「開始」時間を入れた後に「終了」時間を入れますから、「開始」時間を入れた瞬間に「~」が出るので、後は「終了」時間を入れるだけです。

    1工程の削減でしかありませんが、簡単に設定できるものは設定した方が楽です。

    以上で設定は終了です。

    後はこの設定を他の行にも反映するだけです。
    ただし、上で設定した1行だけを他の全ての行に反映させると、罫線がおかしくなります。
    そのため、まずは4/1の3行に設定します。
    その際、以下の手順でやります。

    ①設定した行を、4/1の他の行にも反映する。(「入力規則」の貼り付けと「数式」の貼り付けを他2行についても行う)
    ② 3行それぞれに、「時間がリストから選べるか」「開始セルに時間が入ったら ~ が自動表示されるか」を確認する(確認後、データは消しておく。
    ③3行を範囲指定したら、右下のカーソルを合わせる。
    ④「+」が出たらダブルクリック。
     これでデータが全日に張り付けばOK。
     もしダメなら、そのまま下にドラッグする。

    「+」⇒ ダブルクリックによる「フラッシュフィル」は、
    レッスン5 1年分の枠を一気に作成
    でやったのと同じです。
    しかし、うまくいかなければ素直に下にドラッグしてしまいましょう。
    多分10秒ぐらいの作業なので、その方が楽です。
    最後は「力技」ですが、まぁ、こういう対応も必要でしょう。

    以上で、日程表レッスンは一応終了ですが、また思いついたら追加していくかもしれません。







    あなたへのおすすめ