Excelで勤怠管理表を作っています。
BY aloe_bear / DATE 2010-05-21 09:40:58 / ID 3417 / VIEW 324
Excelで勤怠管理表を作っています。
以下のようにSheet2で1名に対し、5行使って勤怠を管理しています。

  A  B  C  D  E  F  G  ・・・
1      7/1 7/2 7/3 7/4 7/5 ・・・
------------------------------------------
2   予定 8  8  4     8  ・・・
3    実働 8  0  4     8  ・・・
4 田中                 ・・・
5                    ・・・
6                    ・・・
------------------------------------------
7   予定    8  8  8  8  ・・・
8   実働    8  8  8  8  ・・・
9 佐藤                 ・・・
10                   ・・・
11                   ・・・
------------------------------------------

A2~A6、A7~A11は結合されており、別シート(Sheet1)から
VLOOKUPで名前を自動表示させています。
数字は勤務時間で、空欄は公休日です。
このシートの勤怠部分を別シート(Sheet3)で名前に紐付けて
取り出したいのですが、自分の知識ではVLOOKUPが使えなくて
困っています。

Sheet3
以下のようにSheet2で1名に対し、5行使って勤怠を管理しています。

  A  B  C  D  E  F  G  ・・・
1      7/1 7/2 7/3 7/4 7/5 ・・・
------------------------------------------
2 田中 予定 8  8  4     8  ・・・
3    実働 8  0  4     8  ・・・
------------------------------------------
4 佐藤 予定    8  8  8  8  ・・・
5    実働    8  8  8  8  ・・・
------------------------------------------

ちょっとわかりにくいですが、A2~A3、A4~A5は結合されています。

・Sheet3のA2に田中と手入力すると、Sheet3のC2~G3に、Sheet2のC2~G3を表示。
・Sheet3のA4に佐藤と手入力すると、Sheet3のC4~G5に、Sheet2のC7~G8を表示。
・Sheet3のA2に佐藤と手入力した場合は、Sheet3のC2~G3に、Sheet2のC7~G8を表示。

というようにしたいのです。
Excelをあまり触った事のない社員も入力をするため、参照式にすると退職時に列や行を削除され、エラーが起こってしまうので、名前に紐付けたいのです。

なにかいい方法はありませんでしょうか。
minosenninさんからのお返事です
ID:3418 POST:2010-05-21 09:41:06
既に解決済かも知れませんが、offset、match関数を使った一例です。

sheet3のc3に=OFFSET(Sheet2!C$1,MATCH($A3,Sheet2!$A:$A,0)-1,0)と入力し、g3までドラッグ
sheet3のc4に=OFFSET(Sheet2!C$1,MATCH($A3,Sheet2!$A:$A,0),0)と入力し、g4までドラッグ

この後、c3からg4までを選択し、c5からg6へコピー
以下、その繰り返し

なお、関数式はの画面からコピーしてexcelに貼付できます。