回答No.5の続きです。
次に、Sheet1の表のデータと書式(罫線も含む)を全て削除して下さい。
次に、Sheet1のA3セルに次の関数を入力して下さい。
=入力!B$3
次に、Sheet1のA3セルをコピーして、Sheet1の「B3セル」~「表の中で最も右端の列の3行目のセル」のセル範囲に貼り付けて下さい。
次に、Sheet1のB4セル(犬種を表示させるセルの中で最も上のセル)に次の関数を入力して下さい。
=IF(B3="",IF(COUNTIF(B$3:B3,B$3)<COUNTIF(作業用!$A:$A,"*?"&CHAR(1)&1)-1,B$3,""),IF(ISNUMBER(B3),"",IF(OR(B3=B$3,COUNTIF(B$3:B3,B3)<COUNTIF(作業用!$A:$A,B3&CHAR(1)&"*?")),HYPERLINK("#"&CELL("address",INDEX(入力!$A:$A,MATCH(IF(B3=B$3,"*?",B3)&CHAR(1)&COUNTIF(B$3:B3,B3)*(B3<>B$3)+1,INDEX(作業用!$A:$A,MATCH(INDEX(B:B,ROW()-3*AND(B3=B$3,ROW()>ROW(B$3)+4)-1)&CHAR(1)&1,作業用!$A:$A,0)+1):INDEX(作業用!$A:$A,MATCH(CHAR(1),作業用!$A:$A,-1)),0)+MATCH(INDEX(B:B,ROW()-3*AND(B3=B$3,ROW()>ROW(B$3)+4)-1)&CHAR(1)&1,作業用!$A:$A,0))),IF(B3=B$3,SUBSTITUTE(VLOOKUP("*?"&CHAR(1)&1,INDEX(作業用!$A:$A,MATCH(INDEX(B:B,ROW()-3*AND(B3=B$3,ROW()>ROW(B$3)+4)-1)&CHAR(1)&1,作業用!$A:$A,0)+1):INDEX(作業用!$A:$A,MATCH(CHAR(1),作業用!$A:$A,-1)),1,FALSE),CHAR(1)&1,),B3)),COUNTIF(B$3:B3,B3))))
次に、Sheet1のA4セルに次の関数を入力して下さい。
=IF($B4="","",IF(OR($B4=$B3,$B3=$B$3),IF(ISERROR(1/(INDEX(入力!$B:$I,MATCH($B4&CHAR(1)&COUNTIF($B$3:$B4,$B4),作業用!$A:$A,0),MATCH(A$3,入力!$B$3:$I$3,0))<>"")),"",INDEX(入力!$B:$I,MATCH($B4&CHAR(1)&COUNTIF($B$3:$B4,$B4),作業用!$A:$A,0),MATCH(A$3,入力!$B$3:$I$3,0))),IF($B4=$B$3,A$3,IF(ISERROR(MATCH(A$3,{"金額","定価","価格","入荷額","消費税"},0)),"-",SUMIF($B$3:$B3,$B3,A$3:A3)))))
次に、Sheet1のA4セルをコピーして、Sheet1の4行目の中で、表で使用していて尚且つ「犬種を表示させるセル」以外のセルに貼り付けて下さい。
次に、以下の操作を行って、Sheet1において表に使用する列のセルに条件付き書式を設定して下さい。
Sheet1のA3セルを選択
↓
Excelウィンドウの[ホーム]タブをクリック
↓
現れた「スタイル」グループの中にある[条件付き書式]ボタンをクリック
↓
現れた選択肢の中にある[ルールの管理]をクリック
↓
現れた「条件付き書式ルールの管理」ダイアログボックスの中にある[新規ルール]ボタンをクリック
↓
現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック
↓
現れた「次の数式を満たす場合に値を書式設定」欄の中に
=$B3<>""
と入力
↓
「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック
↓
現れた「セルの書式設定」ダイアログボックスの中にある[罫線]タブをクリック
↓
現れた「スタイル」欄の中に並んでいる線のサンプルの中から実線を選択してクリック
↓
「プリセット」欄内にある[外枠]ボタンをクリック
↓
「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック
↓
「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック
↓
「条件付き書式ルールの管理」ダイアログボックスの[新規ルール]ボタンをクリック
↓
「条件付き書式ルールの管理」ダイアログボックスの「適用先」欄に入力されているセル範囲を
$A$3:$H$4
に変更([注]Sheet1において表に使用する列がA列~H列の場合)
※カーソルとマウスの左ボタンによる範囲選択が使えます
↓
「条件付き書式ルールの管理」ダイアログボックスの[適用]ボタンをクリック
↓
「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック
次に、Sheet1の4行目全体をコピーして、同シートの5行目以下に貼り付けて下さい。
次に、Sheet1の3行目全体をコピーして、雛形シートの3行目に貼り付けて下さい。
次に、雛形シートのB4セル(犬種を表示させるセルの中で最も上のセル)に次の関数を入力して下さい。
=IF(COUNTIF(作業用!$A:$A,REPLACE(CELL("filename",B4),1,FIND("]",CELL("filename",B4),FIND(".xls",CELL("filename",B4))),)&CHAR(1)&1),HYPERLINK("#"&CELL("address",INDEX(入力!$A:$A,MATCH(REPLACE(CELL("filename",B4),1,FIND("]",CELL("filename",B4),FIND(".xls",CELL("filename",B4))),)&CHAR(1)&1,作業用!$A:$A,0))),REPLACE(CELL("filename",B4),1,FIND("]",CELL("filename",B4),FIND(".xls",CELL("filename",B4))),)),REPLACE(CELL("filename",B4),1,FIND("]",CELL("filename",B4),FIND(".xls",CELL("filename",B4))),)&" (在庫なし)")
次に、雛形シートのA4セルに次の関数を入力して下さい。
=IF(OR($B4="",ISNUMBER(FIND("在庫なし",$B$4))),"",IF($B4=$B$4,IF(ISERROR(1/(INDEX(入力!$B:$I,MATCH($B$4&CHAR(1)&COUNTIF($B$3:$B4,$B$4),作業用!$A:$A,0),MATCH(A$3,入力!$B$3:$I$3,0))<>"")),"",INDEX(入力!$B:$I,MATCH($B$4&CHAR(1)&COUNTIF($B$3:$B4,$B$4),作業用!$A:$A,0),MATCH(A$3,入力!$B$3:$I$3,0))),IF(ISERROR(MATCH(A$3,{"金額","定価","価格","原価","入荷額","仕入値","仕入れ値","消費税"},0)),"-",SUMIF($B$3:$B3,$B3,A$3:A3))))
次に、雛形シートのA4セルをコピーして、雛形シートの4行目の中で、表で使用していて尚且つ「犬種を表示させるセル」以外のセルに貼り付けて下さい。
次に、以下の操作を行って、雛形シートにおいて表に使用する列の4行目にも条件付き書式を設定して下さい。
雛形シートのA3セルを選択
↓
Excelウィンドウの[ホーム]タブをクリック
↓
現れた「スタイル」グループの中にある[条件付き書式]ボタンをクリック
↓
現れた選択肢の中にある[ルールの管理]をクリック
↓
現れた「条件付き書式ルールの管理」ダイアログボックスの「適用先」欄に入力されているセル範囲を
$A$3:$H$4
に変更([注]雛形シートにおいて表に使用する列がA列~H列の場合)
※カーソルとマウスの左ボタンによる範囲選択が使えます
↓
「条件付き書式ルールの管理」ダイアログボックスの[適用]ボタンをクリック
↓
「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック
次に、雛形シートの4行目全体をコピーして、同シートの5行目以下に貼り付けて下さい。
次に、雛形シートのコピーシートを犬種の数だけ作成して(犬種が12種類の場合は「雛形 (2)」~「雛形 (13)」)、そのコピーシートの各々のシート名を「入力シートに入力されている犬種名と同じ文字列」に変更して下さい。
以上で準備は完了で、Sheet1や各犬種のシートに表が自動で作成されている事を確認して下さい。
※まだ途中なのですが、そろそろこのサイトの回答欄の入力文字数の限界に達しそうですので、残りはまた後で投稿する事に致します。
お礼
ご回答ありがとうございます。 失礼な質問の仕方をしてしまい申し訳ございませんでした。 以後気を付けたいと思います。