誰か教えて下さいm(_ _)m

研修の受講状況を管理したいのですが、やり方が分かりません。

というのも、毎日いろんな研修が行われており、また日によってその人がいたりいなかったりするため、そのうち誰がどの研修を受けたのかよく分からなくなってしまうのです。

たとえば、
sheet1:「日々の研修(やったこと)」
5/1 エクセルの使い方
5/2 ワードの使い方
5/3 パワーポイントの使い方
5/4 アクセスの使い方
5/5 パブリッシャーの使い方
5/6 アウトルックの使い方
5/7 インターネットの使い方
5/8 サーバ公開のやり方
5/9 ホームページの作り方


sheet2:「各人のシフト表(勤怠表)」

    5/1 5/2 5/3 5/4 5/5 5/6 5/7 5/8 5/9
Aさん ○  ×  ○   ○  ○  ×  ×  ○  ○
Bさん ×  ×  ×   ○  ×  ○  ○  ×  ×
Cさん ×  ○  ○   ×  ○  ×  ×  ○  ○
Dさん ○  ○  ○   ×  ○  ×  ×  ○  ×
Eさん ○  ×  ×   ○  ○  ○  ×  ×  ○


sheet3:「個人カルテ(その人が受講した研修)」

氏名:Aさん
-----------------------------------------------------------

1と2のシートを参照して、
    この中にAさんが受けた研修を反映させる


-----------------------------------------------------------

氏名:Bさん
-----------------------------------------------------------

1と2のシートを参照して、
    この中にBさんが受けた研修を反映させる


-----------------------------------------------------------

氏名:Cさん
-----------------------------------------------------------

1と2のシートを参照して、
    この中にCさんが受けた研修を反映させる


-----------------------------------------------------------

氏名:Dさん
-----------------------------------------------------------

1と2のシートを参照して、
    この中にDさんが受けた研修を反映させる


-----------------------------------------------------------

氏名:Eさん
-----------------------------------------------------------

1と2のシートを参照して、
    この中にEさんが受けた研修を反映させる


-----------------------------------------------------------


以上のように、別々のシートで管理されているものを最終的には1つのシートでまとめられればと思っています。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんばんは!


希望通りとはいかないかもしれませんが・・・
↓の画像のように表を作ってみました。

Sheet3のように日付データを参照して受講した場合は「受講項目」を
受講していない場合は空白になるようにしています。

Aさんの場合だけ表しています。
Sheet3のB2セルに
=IF(INDEX(Sheet2!$B$2:$J$6,MATCH(Sheet3!$B$1,Sheet2!$A$2:$A$6,0),MATCH(A2,Sheet2!$B$1:$J$1,0))="○",VLOOKUP(A2,Sheet1!$A$1:$B$9,2,0),"")
としてオートフィルで下へコピーしています。

尚、他の人の場合も同じような数式で対応できると思います。
以上、参考になれば幸いですが、
的外れの回答なら読み流してくださいね。m(__)m
「別々のシートに管理されているデータを参照」の回答画像1
    • good
    • 0
この回答へのお礼

ありがとうございます。
やはりいろんな関数を使う必要があるんですね。
試してみます。

お礼日時:2009/05/25 20:21

質問の説明は長いが


>Aさんが受けた研修を反映させる、の反映させるとは、具体的にどういうものか。エクセルだから、シートに表を作るのだろうが、Aさんをテーマ・中心・主体として、
Aさんの受講暦の表を時系列に再構成すると言うことが。
しかし「勤怠表」とは、講習を受けるだけの1日か。受講暦とししたほうが、気を回さなくて済む。
また1日1講座なのか。注記が必要だろう。
Sheet2で、Aさんの行ををとリあげ(注目し)、○の日は日付を見て、その日付けでSheet1の講習名を引く。
例データ
5月1日エクセルの使い方
5月2日ワードの使い方
5月3日パワーポイントの使い方
5月4日アクセスの使い方
5月5日パブリッシャーの使い方
5月6日アウトルックの使い方
5月7日インターネットの使い方
5月8日サーバ公開のやり方
5月9日ホームページの作り方
ーーー
Sheet2
-5月1日5月2日5月3日5月4日5月5日5月6日5月7日5月8日5月9日
Aさん○×○○○××○○
Bさん×××○×○○××
Cさん×○○×○××○○
Dさん○○○×○××○×
Eさん○××○○○××○
ーーー
Sheet3
A列と第1行はSheet2をコピー貼り付け
-5月1日5月2日5月3日5月4日5月5日5月6日5月7日5月8日5月9日
Aさんエクセルの使い方パワーポイントの使い方アクセスの使い方パブリッシャーの使い方サーバ公開のやり方ホームページの作り方
Bさんアクセスの使い方アウトルックの使い方インターネットの使い方
Cさんワードの使い方パワーポイントの使い方パブリッシャーの使い方サーバ公開のやり方ホームページの作り方
Dさんエクセルの使い方ワードの使い方パワーポイントの使い方パブリッシャーの使い方サーバ公開のやり方
Sheet3のB2の式は
=IF(Sheet2!B2="○",VLOOKUP(Sheet2!B$1,Sheet1!$A$1:$B$10,2,FALSE),"")
この式を5・9日の列まで右方向に式複写。
またB2:J2の式をEさんの行まで下方向に式複写。
ーーーー
同じ位置に、形式を選択して貼り付けー値で式を消す。
ーーー
Sheet3をコピーし、形式を選択して貼り付けー行と列を入れ替えるーOK

-AさんBさんCさんDさんEさん
2009/5/1エクセルの使い方--エクセルの使い方エクセルの使い方
2009/5/2--ワードの使い方ワードの使い方
2009/5/3パワーポイントの使い方-パワーポイントの使い方パワーポイントの使い方
2009/5/4アクセスの使い方アクセスの使い方
2009/5/5パブリッシャーの使い方-パブリッシャーの使い方パブリッシャーの使い方
2009/5/6-アウトルックの使い方
2009/5/7-インターネットの使い方
2009/5/8サーバ公開のやり方-サーバ公開のやり方サーバ公開のやり方
2009/5/9ホームページの作り方-ホームページの作り方
のような表ができる。
ー==
しかし少し欠点もあり、VBAが出来れば表の組み換えは、VBAでやるのが素直と思う。
    • good
    • 0
この回答へのお礼

ありがとうございました。
よく分かりました!
おっしゃる通りですね。VBAもできるようがんばります。

お礼日時:2009/05/25 20:27

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


人気Q&Aランキング