>グループは3人一組なので
>グループのセルは3行を1つに統合してます。
という事は、抽出シートにおいても必ず3行一組でデーターを表示すると考えて宜しいのでしょうか?
それと御質問文の例では「グループ名」、「コード」、「名前」、「かな」と言った項目名を入力する行が存在していないため、ここでは仮に1行目が項目名の記入欄として使用されていて、A-1グループのデータは2~4行目に入力されているものとします。
又、1行目を項目欄として使用する事は抽出シートも同様であるものとします。
又、
>入力シートにグループを入力すると
というだけでは入力シートのどこにどのように入力するのか判りませんので、仮の話として入力シートのA2以下に入力し、その際には、データシートとは違って1行に1グループずつ入力するものとします。
まず、抽出シートのA2セルに次の関数を入力して下さい。
=IF(INDEX(入力!$A:$A,ROUNDUP((ROW()-ROW($A$1))/3,0)+ROW(入力!$A$1))="","",INDEX(入力!$A:$A,ROUNDUP((ROW()-ROW($A$1))/3,0)+ROW(入力!$A$1)))
次に、抽出シートのB2セルに次の関数を入力して下さい。
=IF(INDEX($A:$A,FLOOR(ROW()-ROW($A$1)-1,3)+ROW($A$1)+1)="","",IF(ISERROR(1/(INDEX(データ!B:B,MATCH(INDEX($A:$A,FLOOR(ROW()-ROW($A$1)-1,3)+ROW($A$1)+1),データ!$A:$A,0)+MOD(ROW()-ROW($A$1)-1,3))<>"")),"",INDEX(データ!B:B,MATCH(INDEX($A:$A,FLOOR(ROW()-ROW($A$1)-1,3)+ROW($A$1)+1),データ!$A:$A,0)+MOD(ROW()-ROW($A$1)-1,3))))
次に、抽出シートのB2セルをコピーして、抽出シートのB2~D4のセル範囲に貼り付けて下さい。
次に、抽出シートのA2セル~A4セルを結合して下さい。
次に、抽出シートのA2~D4のセル範囲をコピーして、同じ列範囲の5行目以下に貼り付けて下さい。
以上で準備は完了で、後は入力シートのA2以下にグループ名を入力しますと、そのデータが抽出シートに表示されます。
尚、別に入力シートを設けずとも、抽出シートのA列にある各結合セルにグループ名を直接入力する様なやり方に変更しても、B~D列のデータは表示されます。(その場合、A列の関数は上書きされて消えてしまいますが)
お礼
kagakusukiさん、ありがとうございました。