• ベストアンサー

エクセルのシートについて

エクセルでバイクの在庫管理表を作ろうと思いまして50ccと250ccと400ccの3種類の車両がセルにあるとします シートを4つ作成して1つ目のシートの名前は【全車種】2つ目は【50cc】3つ目は【250cc】4つ目は【400cc】作成して【全車種】をメインに編集して使用したいと思ってます。 メインを編集(追加や削除)したら2つ目以降のシートにも自動で反映させる方法とはあるのでしょうか? 例えばメインの50ccのA車両を削除したら【50cc】のシートにも同じように削除みたいな感じです 以上な事が出来るのであれば、もう一つ質問なんですが、下のセルがあるとします↓ 【全車種】メインシート 1行目 【A車】【400cc】 2行目 【B車】【50cc】 3行目 【C車】【250cc】 メインシートの2行目の50ccのB車を削除したとします そしたら【50cc】のシートは 1行目 【D車】【50cc】 3行目 【F車】【50cc】 になるのでしょうか? それとも 1行目 【D車】【50cc】 2行目 【F車】【50cc】 と自動で上がってくれるのでしょうか? 解りにくい説明ですいません アドバイスよろしくお願い致しますm(__)m

質問者が選んだベストアンサー

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.2

ピボットテーブルを使えば簡単に出来ます。 1行目にはタイトルを入れます。 タイトルが「車名」、「排気量」とすると 【全車種】メインシート 1行目 車名   排気量 2行目 A車  400 3行目 B車   50 4行目 C車  250 質問例では、50ccとccがついていますが、置換などで削除して数値だけにしてください。表示したければ、セルの表示形式でccを表示します。 表のどれかのセルを選択して「データ」-「ピボットテーブル~」を選択します。【次へ】ボタンを押すと、表の範囲を自動で選択されていますから、範囲が違っていれば修正します。良ければそのまま【完了】ボタンを押します。 「ページのフィールド」に【排気量】をドラッグします。 「行のフィールド」に【車名】をドラッグします。 「データフィールド」にも【排気量】をドラッグします。 これでメインシートと同じ「全車種」の表が出来上がったと思います。 もし、「データの個数:排気量」となっていたら、そこを右クリックして、「フィールドの設定」で[集計の方法]を[合計]に変えます。 「ページのフィールド」を右クリックして、「ページの表示」を選択すると、自動的に「排気量」別のシートが出来上がります。 元の「メインシート」とピボットテーブルの「全車種」「50cc」「250cc」「400cc」の5つのシートがあることになります。 メインシートの一部を削除したり修正した場合、「全車種」のピボットテーブルのシートで表内のセルを選択して、赤い「!」をクリックするとデータが更新されます。排気量別のシートも自動で更新されます。 削除したものは、自動で繰り上がります。

noname#186192
質問者

お礼

遅くなりましてすいませんでした ご丁寧にありがとうございました

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

自称imogasi方式で解けます。各機種は999件以下と仮定します。 例データ Sheet3のA2:C17(C列は関数で。後述の結果) A列  B列   C列 a 450 4001 b 50 1001 c 250 2001 d 750 6001 e 450 4002 f 750 6002 g 250 2002 h 50 1002 i 250 2003 j 300 3001 k 300 3002 l 450 4003 m 250 2004 n 750 6003 o 50 1003 p 250 2005 VLOOKUP関数用に Sheet3のG2:H7に G列  H列 50 1 250 2 300 3 450 4 500 5 750 6 Sheet3のC2に=VLOOKUP(B2,$G$2:$H$7,2,FALSE)*1000+COUNTIF($B$2:B2,B2) を入れてC17まで式複写. 結果は上記C列の通り。 Sheet4に行って B2に =INDEX(Sheet3!$A$2:$C$100,MATCH(1000+ROW()-1,Sheet3!$C$2:$C1000,0),1) B3以下に複写。 C2に=INDEX(Sheet3!$A$2:$C$100,MATCH(1000+ROW()-1,Sheet3!$C$2:$C1000,0),2) c3以下に複写。 Sheet5に行って B2に =INDEX(Sheet3!$A$2:$C$1000,MATCH(2000+ROW()-1,Sheet3!$C$2:$C1000,0),1) B3以下に複写。 C2に =INDEX(Sheet3!$A$2:$C$1000,MATCH(2000+ROW()-1,Sheet3!$C$2:$C1000,0),2) C3以下に複写。 Sheet6以下同様(略) その結果、各シートの結果は下記。 Sheet4 b 50 h 50 o 50 #N/A #N/A #N/A #N/A Sheet5 c 250 g 250 i 250 m 250 p 250 #N/A #N/A #N/A #N/A Sheet6 j 300 k 300 #N/A #N/A #N/A #N/A #N/A #N/A #N/Aが見えないようにする方法は複雑になるので略。 過去のimogasi方式の回答を見てください。

noname#186192
質問者

お礼

ご丁寧にありがとうございました! 頑張ってみます!

関連するQ&A

専門家に質問してみよう