シート1のA1-B1セルに支給年月日、C1セルから横方向に日付があるとします。
A2セルには番号、B2セルには氏名の文字列があるとします。
3行目からデータが入力されているとします。
そこでお求めの表ですがシート2に表示させるとしてA1セルには番号、B1セルには氏名、C1セルには支給額、D1セルには支給年月日の文字列を入力します。
A2セルから下方に表示させたい人の番号を入力します。氏名では同じ氏名があることも考えられますので番号で管理することにします。
B2セルには次の式を入力し右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(OR($A2="",COUNTIF(Sheet1!$A:$A,$A2)=0),"",IF(COLUMN(A1)=1,INDEX(Sheet1!$B:$B,MATCH($A2,Sheet1!$A:$A,0)),IF(COLUMN(A1)=2,MAX(INDIRECT("Sheet1!C"&MATCH($A2,Sheet1!$A:$A,0)):INDIRECT("Sheet1!U"&MATCH($A2,Sheet1!$A:$A,0))),IF(COLUMN(A1)=3,INDEX(Sheet1!$1:$1, MATCH($C2,INDIRECT("Sheet1!C"&MATCH($A2,Sheet1!$A:$A,0)&":U"&MATCH($A2,Sheet1!$A:$A,0)),0)+2),""))))
最後にD列を選択してセルの表示形式を日付にすれば完成です。
お礼
求めていたものがおかげで作れました!!ありがとうございました!! いくら人数を増やしても、問題なく抽出でき、とても助かりました。