どうか教えてください。
エクセル2013を使って従業員の勤怠表を作っています。
1、従業員にはA4で印刷した1か月分の表に1日の出勤時間~退勤時間の実績(早出・残業時間)を手書きで記入してもらっています。(書式1)
2、従業員(約30名)を一覧にまとめた出勤表を1月分をシートごとで作成しています。(書式2)
3、従業員が手書きをする勤怠表(書式1)に一覧にまとめた出勤表(書式2)の休日を反映させて従業員個別の氏名と休日を入力して印刷したいです。
4、書式1に「5月」と入力して氏名欄のプルダウンリストで従業員氏名(Aさん・Bさんなど)を選択すると、選択した人の5月出勤表(書式2)から抽出して休日を反映するようにしたいです。
これを作成する事は可能でしょうか?
書式2はシートごとに平成30年3月まで作成しています。
関数やVBAなどあまりわからないですが、どうか皆さんのお知恵をお貸しください。
説明が下手で申し訳ございませんが宜しくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
「VBAなどあまりわからない」とのことですが、多少ならマクロも分かるのですよね?
ヒントだけになりますが、添付画像のように範囲指定でコピーし、行列を入れ替えて貼り付けすれば、それなりのものが出来上がります。
これをマクロで記録し、ちょっと手を加えれば、比較的簡単に実現できそうですよね。
No.2
- 回答日時:
こんにちは!
各月のシートが存在するのですね?
一例です。
下準備が大変ですが、コツコツやってみてください。
まずシリアル値で扱った方が間違いないと思いますので、
↓の画像のように「書式1」のシートの「年」と「月」を入れるセルを分けます。
そして各シート名は 2017年5月 2017年6月・・・とします。
まず各シートの日付行をシリアル値にします。
2017年5月のシートの場合は
B5セル(セルの表示形式はユーザー定義から d としておく)に
=IF(MONTH(DATE(2017,5,COLUMN(A1)))=5,DATE(2017,5,COLUMN(A1)),"")
B6セル(セルの表示形式はユーザー定義から aaa としておく)に
=IF(B5="","",B5)
という数式を入れ月末(31日)までのAF列までコピーしておきます。
2017年6月のシートの場合はB5セルの数式だけが変わります。
=IF(MONTH(DATE(2017,6,COLUMN(A1)))=6,DATE(2017,6,COLUMN(A1)),"")
2017年7月は
=IF(MONTH(DATE(2017,7,COLUMN(A1)))=7,DATE(2017,7,COLUMN(A1)),"")
のように各シートに手を加えて5行目はシリアル値にしておいてください。
次に「書式1」のシートのA5セル(セルの表示形式はユーザー定義から d としておく)に
=IF(MONTH(DATE(A$1,A$2,ROW(A1)))=A$2,DATE(A$1,A$2,ROW(A1)),"")
となりのB5セル(セルの表示形式はユーザー定義から aaa としておく)に
=IF(A5="","",A5)
という数式を入れ、A5・B5セルを範囲指定 → B5セルのフィルハンドルで31日までの35行目までコピーしておきます。
そしてC5セルに
=IFERROR(INDEX(INDIRECT(A$1&"年"&A$2&"月!A:AF"),MATCH(E$2,INDIRECT(A$1&"年"&A$2&"月!A:A"),0),MATCH(A5,INDIRECT(A$1&"年"&A$2&"月!$5:$5"),0))&"","")
という数式を入れフィルハンドルでダブルクリック!
これで画像のような感じになります。
A1・A2セルの数値を入れ替えるだけでE2セルの人の「休」に「○」が表示されると思います。
※ 長くなりましたが、参考になりますかね?m(_ _)m
No.1
- 回答日時:
作成を出来るだけ簡単(にして、貴方自身が理解し易いよう)にするための確認です。
》 書式1に「5月」と入力して…
単に文字列で「5月」と入力するのでなく、「2017/5/1」と入力することは可能ですか?表示は貴方の添付図のように「2017年5月」とさせます。
》 書式2はシートごとに平成30年3月まで作成しています。
「シートごとに」の意味は「各月ごとに」のこと(1年分は12シートも!)と理解してますが、1年ごと(4月から翌年3月まで)にすることは可能ですか?YESなら、「書式1」は Sheet1 に、「書式2」は Sheet2 に、1年分を Sheet 2枚に簡素化できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 翌日にお休み予定の従業員がいる場合にアラートを出したい 1 2023/07/11 11:18
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) マクロ/VBAについて教えてください。 10 2022/05/27 12:59
- Excel(エクセル) 請求書と領収書の作成 4 2022/11/10 16:13
- 労働相談 振替休日を従業員自身が指定するのは問題ないですか? 例えば日曜日に会社行事で出勤させる場合、振替休日 2 2023/07/02 14:50
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- 就職 どちらの企業を選びますか? 3 2023/05/24 00:02
- 事務・総務 帳票類やデータがありません。法人成り。 解体業の会社で現場作業員 兼 事務員として勤めているのですが 3 2023/06/02 13:27
- 労働相談 奴隷扱いしても、従業員が何も言わないからって 調子に乗っている 会社経営家族、間抜けすぎるその後 ● 3 2022/07/08 09:38
- Excel(エクセル) 出勤簿の土、日、休日に色付けできない 2 2022/08/04 20:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報