[[20220616150133]] 『勤怠管理表のピボットテーブル日付表示』(cerana8) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『勤怠管理表のピボットテーブル日付表示』(cerana8)

勤怠管理表をピボットテーブル化しました。
日付  出勤   休憩開始  休憩開始  退勤
5月16日 〇:○○ 〇:○○ 〇:○○ 〇:○○ 
5月17日 〇:○○ 〇:○○ 〇:○○ 〇:○○
5月20日 〇:○○ 〇:○○ 〇:○○ 〇:○○
5月24日 〇:○○ 〇:○○ 〇:○○ 〇:○○
5月26日 〇:○○ 〇:○○ 〇:○○ 〇:○○
5月27日 〇:○○ 〇:○○ 〇:○○ 〇:○○



を空いた日(例えば5/18,5/19)を全て表示させるため、
日付セル上で右クリック→フィールドの設定→レイアウトと印刷→データのないアイテムを表示するにチェック→OKとすると
日曜日の日付だけ表示されません。
5月16日 〇:○○ 〇:○○ 〇:○○ 〇:○○ 
5月17日 〇:○○ 〇:○○ 〇:○○ 〇:○○
5月18日
5月19日
5月20日 〇:○○ 〇:○○ 〇:○○ 〇:○○
5月21日
5月23日                     ←5月22日が表示されない
5月24日 〇:○○ 〇:○○ 〇:○○ 〇:○○
5月25日
5月26日 〇:○○ 〇:○○ 〇:○○ 〇:○○
5月27日 〇:○○ 〇:○○ 〇:○○ 〇:○○
27日以降も同様、日曜日が表示されません。
日曜日も含め、空いた日をすべて表示させる方法をご教示ください。
どうぞよろしくお願いいたします。
  

< 使用 Excel:unknown、使用 OS:Windows10 >


 元データに日曜の日付がないからでは?
(コナミ) 2022/06/16(木) 15:08

 元データはどのようなレイアウトだろうか?
 こちらではEXCEL2016でA列に日付、B列に出勤・退勤、C列に時刻として土日休日は日付そのものをなし、としてピボットを
 作成してデータのないアイテムを表示するにチェックで土日休日も表示されている。
(ねむねむ) 2022/06/16(木) 15:15

 すまない。
 ちょっと処置手順を誤っていた。
 上記は無視してくれ。
(ねむねむ) 2022/06/16(木) 15:19

コナミさん

コメントありがとうございます。
元データは勤怠管理の機械から吐き出したcsvです。
元データには曜日データはないです。
元データから「年」の要素は消し、日付と時間だけのデータに加工してからピボットにしているのですが、日曜日だけ表示されません。
たまたま日曜日なだけなのかもしれませんが、7日間隔で日付が表示されません。
どうぞよろしくお願いいたします。
(cerana8) 2022/06/16(木) 15:25


 >元データは勤怠管理の機械から吐き出したcsvです

 再度ですが、元データに日曜の「日付」はあるのですか?

 >元データから「年」の要素は消し、日付と時間だけのデータに加工してから

 具体的にどうやっているか書いてもらえますか?

(コナミ) 2022/06/16(木) 15:57


コナミ様

元データ
A列   B列     C列    
Aさん  2022/5/16 8:40 出勤
Aさん  2022/5/16 12:16 休憩開始
Aさん  2022/5/16 12:49 休憩退出
Aさん  2022/5/16 14:14 退勤
Aさん  2022/5/20 8:36 出勤
Aさん  2022/5/20 12:15 休憩開始
Aさん  2022/5/20 12:44 休憩退出
Aさん  2022/5/20 15:16 退勤

日付と時間を同一セル内にあり、時間は秒単位迄記録されています。
日付と時間を分離し、秒単位を切り捨てます。
A列   B列     C列    D列       E列 F列
Aさん  2022/5/16   5/16 1900/1/0 8:40   8:40 出勤
Aさん  2022/5/16   5/16 1900/1/0 12:16   12:16 休憩開始
Aさん  2022/5/16   5/16 1900/1/0 12:49   12:49 休憩退出
Aさん  2022/5/16   5/16 1900/1/0 14:14   14:14 退勤
Aさん  2022/5/20   5/20 1900/1/0 8:36    8:36 出勤
Aさん  2022/5/20   5/20 1900/1/0 12:15   12:15 休憩開始
Aさん  2022/5/20   5/20 1900/1/0 12:44   12:44 休憩退出
Aさん  2022/5/20   5/20 1900/1/0 15:16   15:16 退勤

C列関数:=MONTH(B2)& "/"&DAY(B2)
D列関数=B2-C2
E列関数=TEXT(D2,"[h]:m")*1

ピボットには、
行ボックス
 A列 C列
列ボックス
 F列
値ボックス
 E列(値フィールドは最大)
時間表示は、h:mm
日付のフィールド設定は、「データのないアイテムを表示する」

(cerana8) 2022/06/16(木) 16:33


 まず元表ですけど、 B列が日付+時刻なら

 C列(秒を切り捨て)
 C2 =TEXT(B2,"h:m")*1

 A列:名前
 B列:日付+時刻
 C列:時刻
 D列:ステータス(出勤など)

 この4列でピボットテーブル

 ・日付を「月」と「日」でグループ化 ← これがポイント
 ・「データのないアイテムを表示する」にチェック
 ・フィルターで表示したい月にチェック

 以上で、元表にない日付も表示されるでしょう。

 ただし、ピボットテーブルで日付をグループ化すると「文字列」になってしまいます。

 ところで、Excelのバージョンは?
(笑) 2022/06/16(木) 18:04

 元データが平年の日付でも
 2月は「29日」まで表示されるかも・・・

 以上
(笑) 2022/06/16(木) 18:27

(笑)様

ご指示の4列でピボットテーブルを作り
「データのないアイテムを表示する」にチェックで、全ての日付(1/1〜12/31)が表示されるようになりました。
ただ、グループ化がまだうまくできず、表示したい期間(〇月16日〜〇+1月15日)だけを表示させられるには至っていません。
全ての日付(1/1〜12/31)から目的期間だけを切り取りペーストでも大きな支障はないので、とりあえずは現状で行こうかと思います。
ありがとうございました。
(cerana8) 2022/06/16(木) 18:49


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.