今仮に、Sheet1とSheet2の両シートにおいて、「受注番」という項目名が入力されているセルがA1セルであるものとします。
又、Sheet3のA列~D列を作業列として使用するものとします。
まず、Sheet3のA2セルに次の数式を入力して下さい。
=IF(ISNUMBER(INDEX(Sheet1!$E:$E,ROW())),COUNT(A$1:A1)+1,"")
次に、Sheet3のC2セルに次の数式を入力して下さい。
=IF(COUNT($A:$A),IF(ROWS($2:2)=1,1,IF(COUNTIF(C$1:C1,C1)=INDEX(Sheet1!$F:$F,MATCH(C1,$A:$A))-INDEX(Sheet1!$E:$E,MATCH(C1,$A:$A))+1,IF(COUNTIF(C$1:C1,COUNT($A:$A)),"",C1+1),C1)),"")
次に、Sheet3のD2セルに次の数式を入力して下さい。
=IF($C2="","",INDEX(Sheet1!$E:$E,MATCH($C2,$A:$A))+COUNTIF($C$1:$C1,$C2))
次に、Sheet3のB2セルに次の数式を入力して下さい。
=IF($D2="","",COUNTIF($D:$D,"<"&$D2)+COUNTIF($D$1:$D2,$D2))
次に、Sheet3のA2~D2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。
次に、Sheet2のA1~F1の各セルに、各項目名を入力して下さい。
次に、Sheet2のA2セルに次の数式を入力して下さい。
=IF(ROWS($2:2)>COUNT(Sheet3!$C:$C),"",IF(COUNTIF(A$1:A1,SMALL(Sheet3!$D:$D,ROWS($2:2))),"",SMALL(Sheet3!$D:$D,ROWS($2:2))))
次に、Sheet2のA2セルの書式設定の表示形式を[日付]として下さい。
次に、Sheet2のB2セルに次の数式を入力して下さい。
=IF(OR(ROWS($2:2)>COUNT(Sheet3!$C:$C),COUNTIF(Sheet1!$A$1:$G$1,B$1)=0),"",INDEX(Sheet1!$A:$G,MATCH(VLOOKUP(ROWS($2:2),Sheet3!$B:$C,2,FALSE),Sheet3!$A:$A),MATCH(B$1,Sheet1!$A$1:$G$1,0)))
次に、Sheet2のB2セルをコピーして、Sheet2のC2~F2の範囲に貼り付けて下さい。
次に、Sheet2のA2~F2の範囲をコピーして、Sheet2のA3~F3の範囲に貼り付けて下さい。
次に、以下の操作を行って下さい。
Sheet2のA3セルを右クリック
↓
現れた選択肢の中にある[セルの書式設定]をクリック
↓
現れた「セルの書式設定」ダイアログボックスの[罫線]タブをクリック
↓
上辺と下辺の罫線をクリックして、左辺と右辺だけ残して罫線を消す
↓
「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック
↓
Sheet2のA3セルが選択されている状態で、[ホーム]タブをクリック
↓
「スタイル」グループの中にある[条件付き書式]ボタンをクリック
↓
現れた選択肢の中から[新しいルール]を選択してクリック
↓
現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択してください」欄の中にある[指定の値を含むセルだけを書式設定]を選択してクリック
↓
「次のセルのみを書式設定」欄の中の左端の欄をクリック
↓
現れた選択肢の中にある[セルの値]をクリック
↓
「次のセルのみを書式設定」欄の中の左端から2番目の欄をクリック
↓
現れた選択肢の中にある[次の値に等しくない]をクリック
↓
「次のセルのみを書式設定」欄の中の左端から3番目の欄に
=""
と入力
↓
「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック
↓
現れた「セルの書式設定」ダイアログボックスの[罫線]タブをクリック
↓
上辺をクリックして、上辺のみに罫線を入れる
↓
「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック
↓
「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック
次に、Sheet2のA3~F3の範囲をコピーして、同じ列の4行目以下に貼り付けて下さい。
以上です。
お礼
すごいっす。 こんな事できるんですね。 ありがとうございました。 質問後、プロジェクトチームで缶詰状態でこのサイトがなかなか確認できず御礼が遅くなり申し訳ありませんでした。未だ手が付けられる状態ではありませんが、この作業にかかれるようになったらやってみます。 本当にありがとうございました