シート1でのデータがA2セルから下方に氏名が、B1セルからG1セルには月、火、・・と土までが入力されているとします。またH1セルには平泳ぎ、I1セルにはクロールの文字が入力されているとします。その他の泳法を入力することを考慮して作業列としてM2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。
=IF(OR($A2="",COLUMN(A1)>COUNTA($H$1:H$1)),"",IF(OR(COUNTIF($B2:$G2,"●")=0,H2=""),"",MATCH("●",$B2:$G2,0)*1000+COUNTIF(M$1:M1,">="&MATCH("●",$B2:$G2,0)*1000)-COUNTIF(M$1:M1,">="&MATCH("●",$B2:$G2,0)*1000+1000)+1))
次にシート2についてはA1セルに月と入力してB1セルには曜日の表とでも入力します。
A3セルには平泳ぎ希望者、B3セルにはクロール希望者、さらに別の泳法の希望者を入れる場合にはその横にシート1と同じ順序で項目を並べます。
次にA4セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(COUNTIF(Sheet1!M:M,MATCH($A$1,Sheet1!$B$1:$G$1,0)*1000+ROW(A1))=0,"",INDEX(Sheet1!$A:$A,MATCH(MATCH($A$1,Sheet1!$B$1:$G$1,0)*1000+ROW(A1),Sheet1!M:M,0)))
これで泳法が5種類までの種目について表を作ることができます。より多くの種目についても同様に作成すればよいでしょう。
お礼
ありがとうございます。 先ほどの方と数式がまた違い、考え方がいろいろあると関心させられてます。 出来るだけ理解して考えますので、わからないところがあればまた質問させてください。 ありがとうございました。
補足
ありがとうございました。正確に表記できました。 最後にROW(Sheet1!$J$1:$J$100),9999)の9999は何を表してるのか教えてください。 宜しくお願いします。