電子書籍の厳選無料作品が豊富!

シフト表をエクセルで作るときに

例えばAさんの勤務が月、火、水で祝日は休み
Bさんが木と金と出勤で
その出勤のところに◯や数字の1を毎月手入力または、コピーして貼付るフォーマットを使ってるのですが、

これって毎月、曜日とかから反応させて(曜日じゃなくてもいいです)自動でそれぞれのシフトを入力せずに、
日付入力したときに完成してる状態にすることって可能ですか?

条件付き書式で祝日や会社の休日は色が変わるようにしてあるんですけど、
前任から引き継がれて、ほとんどが自動化されてない状態なのと、時間が勿体ないため良ければ知識をお貸しください。
よろしくお願いいたします。

A 回答 (3件)

>>これって毎月、曜日とかから反応させて(曜日じゃなくてもいいです)自動でそれぞれのシフトを入力せずに、日付入力したときに完成してる状態にすることって可能ですか?



はい、ExcelVBAというプログラムを作成すれば可能です。
私の手元には、「できる逆引き ExcelVBAを極める 勝ちワザ716」という分厚い本がありますけど、初心者向けには「たった1秒で仕事が片づく Excel自動化の教科書」とか、プログラミングの参考になる本が数多く出版されています。
それらを参考にしてプログラムを作成すれば、定型的な仕事を自動化できます。

以前の職場では、毎朝、手作業で1時間くらいかかっていたエクセルのデータ更新作業を、ExcelVBAでプログラミングして、5分程度で最新状態に更新するプログラムを作ったりしました。

それまでは、更新時間がかかって、会議の開始時間が後ろにずれたり、ちょくちょく、データの更新ミス、更新漏れが発生していたのがゼロになって、皆のストレスが減ったものでした。(いろいろなプログラムの技を駆使したてプログラムの処理時間が初めは30分くらいかかったけど、5分程度に短縮)
    • good
    • 0

Excelの各セルにIF文で名前と曜日で判断させば可能です。


たくさんのセルがありますが絶対参照と相対参照を使えばコピーでやれます。

VBAでやるという手もあるのでしょうけれどお勧めできません。
VBAはセルの数値を操作するものですから表の形式がすこしでもかわると作り直さなければなりません。もちろん関数でも変更しなければなりませんが、VBAの修正にくらべれば簡単です。

そして部局がかわったりしてもVBAのプログラムの修正がついてまわるのですよ。「お前がつくったのだから責任をとれ」というものです。最後には「これだったら最初の方が良かった」となってしまいます。

ずっとその仕事をされるのなら良いのですが、そうでなければVBAはやめましょう。
    • good
    • 0

曜日のみマスターに応じて作成する案です。

添付図参照になります。

マスター=基本パターンをB~H列に作り、J列以降を予定表としています。
実際の配置にあわせて参照先を修正する必要があります。

日付を1行目のように入力しておくと、見た目は慣れが必要ですが曜日の表示に使えて便利です。2~3行目のようにしても構いません。(こだわりどころではありません)
月はJ2セルに『=MONTH(J1)』、日はJ3セルに『=DAY(J1)』、曜日はJ4セルに『=TEXT(J1,"aaa")』を入力して、J2~J4セルを選択して右方向にコピペです。
出欠予定は、J5セルに『=HLOOKUP(J$4,$B$4:H5,ROW()-ROW(J$4)+1,0)』を入力してコピーして、数式のみを必要部分に貼付ければ曜日などの条件付き書式が残せます。

ちなみに、基本パターンの位置が邪魔なら、右端に移動させてもよいと思います。
「シフト表をエクセルで作るときに 例えばA」の回答画像3
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A