エクセルで個人別に並んだ勤務表を日別にする場合の数式を教えてください。
現在表の上にあるような個人別の勤務表があります。
それとは別に下のような日にち毎の一覧もあります。
(今回は画像にする都合上同じシート内に載せましたがl本来は別々のシートです。)
上の表に時間を入れると同時に下の表にも反映するように数式?を入れました。
10/1に入れたのと同じような感じだったので、
そのまま他の日にちにも数式をコピーしたところ
当然ながら参照されるセルも動いてしまうので、うまくいきません。
これらを入力するには、1つずつ手で数式を入れていくしかないんでしょうか??
あと、勤務のない日が「0:00」と表示されるのを空欄にするやり方も
併せて教えていただければ幸いです。
本当の表では25人分あり、それを30日分するにはかなりの労力が必要なため
詳しい方のお知恵お借りしたくて質問させていただきました。
シフトの提出期限が迫ってますので、若干焦り気味です(>_<)
よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
次のようにすればよいでしょう。
お示しの上の表は仮に勤務表とシート名をします。そこで各月にそれぞれシートを作るとして例えばシート1を画面に表示したのちにシート名見出しでシート12をShiftキーを押しながらクリックすることで同じ作業グループが形成されます。
そこでシート1について次の操作をします。
A1セルには例えば2010/10/1のように入力して右クリックし「セルの書式設定」から「表示形式」の「ユーザー定義」で種類の窓には yyyy"年"m"月分" とでも入力します。これで2010年10月分と表示されます。
次にA2セルには次の式を入力します。
=IF(MOD(ROW(A1),30)=1,IF(MONTH($A$1+INT(ROW(A1)/30))<>MONTH($A$1),"",$A$1+INT(ROW(A1)/30)),"")
なお、この式では25人分のということですので1日につき最大の人数を30人まで表示できるようにしています。
B3セルには出勤時間、C3セルには退勤時間と入力します。
A4セルには次の式を入力します。
=IF(INDEX(勤務表!$1:$1,(MOD(ROW(A1),30)-1)*2+2)=0,"",INDEX(勤務表!$1:$1,(MOD(ROW(A1),30)-1)*2+2))
B4セルには次の式を入力してC4セルまでオートフィルドラッグします。
=IF($A4="","",IF(OR(COUNTIF(勤務表!$A:$A,INDIRECT("A"&MATCH(10^10,$A$1:$A2)))=0,A4=""),"",INDEX(勤務表!$A:$CA,MATCH(INDIRECT("A"&MATCH(10^10,$A$1:$A2)),勤務表!$A:$A,0),IF(COLUMN(A1)=1,MATCH($A4,勤務表!$1:$1,0),MATCH($A4,勤務表!$1:$1,0)+1))))
その後にA4セルからC4セルを選択してC4セルの右下隅にある■のオートフィルボタンをクリックしてC31セルまでドラッグします。
これが1日分の表になりますね。
次にA2セルからC31セルまでを範囲として選択したのちに右下隅にある■のオートフィルボタンをクリックしてC931セルまでドラッグします。
これによってその月々に応じた最終日までの表が出来上がります。
その後にA2セルからA931セルの表示形式を10月1日のように、また、B4セルからC931セルの表示形式を時刻で 9:00 のようにします。
以上ですべての作業は終わりますのでシート見出しを右クリックして「作業グループの解除」を選択します。すべてのシートに10月のデータが表示されますが、それぞれのシートのA1セルにまとめたい月の日付を2010/11/1のように入力すれば良いでしょう。
勤務表では毎日のデータをどんどん入力してゆくことでよいでしょう。
なお、勤務のない日を空欄にするとのことですが、勤務表でその日の日付を削除すれば空欄になります。式の上で直すこともできますが、後になって気が付いたのでごめんなさい。式には組みこんでありません。
No.2
- 回答日時:
上の勤務表のシート名を「勤務表」とします。
また、下の日別一覧は別シートにあるものとし、そのA1セルに「10月1日」と入力されているものとします。B3~C6セルには次の数式を入力します。
B3 =IF(VLOOKUP(A1,勤務表!$A$3:$I$7,2)="","",VLOOKUP(A1,勤務表!$A$3:$I$7,2))
C3 =IF(VLOOKUP(A1,勤務表!$A$3:$I$7,3)="","",VLOOKUP(A1,勤務表!$A$3:$I$7,3))
B4 =IF(VLOOKUP(A1,勤務表!$A$3:$I$7,4)="","",VLOOKUP(A1,勤務表!$A$3:$I$7,4))
C4 =IF(VLOOKUP(A1,勤務表!$A$3:$I$7,5)="","",VLOOKUP(A1,勤務表!$A$3:$I$7,5))
B5 =IF(VLOOKUP(A1,勤務表!$A$3:$I$7,6)="","",VLOOKUP(A1,勤務表!$A$3:$I$7,6))
C5 =IF(VLOOKUP(A1,勤務表!$A$3:$I$7,7)="","",VLOOKUP(A1,勤務表!$A$3:$I$7,7))
B6 =IF(VLOOKUP(A1,勤務表!$A$3:$I$7,8)="","",VLOOKUP(A1,勤務表!$A$3:$I$7,8))
C6 =IF(VLOOKUP(A1,勤務表!$A$3:$I$7,9)="","",VLOOKUP(A1,勤務表!$A$3:$I$7,9))
※ 実際は、エディタやワープロで1列分の数式を作成した後、まとめてコピーすればよいでしょう。
このように1日分の表を作成すれば、後はコピーするだけでよいです。
No.1
- 回答日時:
無い知恵を振り絞ってみて、lookup関数で自分で作ってみましたが、3人でも結構大変でした。
ここで回答するには情報量(関数)が多すぎて書ききれないですし、
質問者さんがそれらを入力するのにも手間もかかりすぎてしまいます。
もっと素晴らしい解法があると思います。すみません。
一応3人だけの回答です。lookup関数と、$を使いました。
B14=LOOKUP($A12,$A$3:$A$7,$B$3:$B$7)
C14=LOOKUP($A12,$A$3:$A$7,$C$3:$C$7)
B15=LOOKUP($A12,$A$3:$A$7,$D$3:$D$7)
C15=LOOKUP($A12,$A$3:$A$7,$E$3:$E$7)
B16=LOOKUP($A12,$A$3:$A$7,$F$3:$F$7)
C16=LOOKUP($A12,$A$3:$A$7,$G$3:$G$7)
日別の欄の
A12の「日付」を変えると個人別の「日付」に対応しますので、1日分だけ全員の関数を入力すると、
コピーで31日分すればOKです。
B14=IF((LOOKUP($A12,$A$3:$A$7,$B$3:$B$7))=0,"",LOOKUP($A12,$A$3:$A$7,$B$3:$B$7))
にすると、「0:00」が消えます。
が、さらに入力がたいへんです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセルでシフト表を作成中で困っています。 3 2022/06/22 11:49
- Excel(エクセル) Excel関数で日またぎの勤務時間にしるしを立てる 2 2022/04/20 17:22
- Excel(エクセル) 【Excel質問】 「本日の日付」から指定条件を満たす営業日経過後の日数を表示させる関数式 3 2022/06/06 23:28
- Excel(エクセル) マクロ/VBAについて教えてください。 10 2022/05/27 12:59
- Excel(エクセル) エクセルの早退時間を計算したいです。計算はうまくいっているようですが… 1 2022/12/26 16:22
- Excel(エクセル) エクセル:シフト表条件付き書式色付けのカウント方法 3 2022/10/11 21:59
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Excel(エクセル) 月間シフト表から総勤務時間を計算する関数 4 2023/05/20 07:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報