• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで必要な項目だけを別の一覧にするには?)

エクセルで必要な項目だけを別の一覧にする方法

このQ&Aのポイント
  • エクセルで必要な項目だけを抽出して別の一覧にする方法を教えてください。
  • また、別の一覧を見やすくするためにフォントや列・行の幅を指定する方法も知りたいです。
  • 毎回コピペで作業しているので、効率的な方法があれば教えてください。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

>基準をもとに基準に印がついている場合のみ選択し、基準に印がある場合は、※1をシート1のA1に自動で持ってこれないかと思案しています。  確認したいのですが、基準の「●」は客先が入力したもので、目印とするために質問者様が後から追加したものではない訳ですね?  それでしたら以下の様な方法は如何でしょうか?  まず、「客先から送られて来たエクセルデータ」をコピーして、適当なシート(ここでは仮にSheet1とします)に、「※1」という項目名がA1セルに来る様に、(横並びのままで)貼り付けて下さい。  次に、別の適当なシート(ここでは仮にSheet3とします)のA1セルに、次の関数を入力して下さい。(以下は、基準の「●」がF列に入力されている場合の関数です) =IF(INDEX(Sheet1!$F:$F,ROW())="●",COUNTIF(Sheet1!$F$1:INDEX(Sheet1!$F:$F,ROW()),"●"),"")  次に、Sheet3のA1セルをコピーして、Sheet3のA2以下に貼り付けて下さい。  次に、また別の適当なシート(ここでは仮にSheet2とします)のA1以下に※1~※6の必要とする項目名を、「並べたい順番に」入力して下さい。  次に、Sheet2のB1セルに、次の関数を入力して下さい。 =IF(ISERROR(1/(HLOOKUP(INDEX($A:$A,ROW()),OFFSET(Sheet1!$1:$1,,,MATCH("*?",Sheet1!$A:$A,-1)-ROW(Sheet1!$A$1)+1),MATCH(COLUMNS($B:B),Sheet3!$A:$A,0)-ROW(Sheet1!$A$1)+1,FALSE)<>"")),"",HLOOKUP(INDEX($A:$A,ROW()),OFFSET(Sheet1!$1:$1,,,MATCH("*?",Sheet1!$A:$A,-1)-ROW(Sheet1!$A$1)+1),MATCH(COLUMNS($B:B),Sheet3!$A:$A,0)-ROW(Sheet1!$A$1)+1,FALSE))  次に、Sheet2のB1セルをコピーして、Sheet2において並べ替えた結果を表示させねばならない全てのセルに貼り付けて下さい。(添付画像の例ではB1:J6のセル範囲に貼り付け)  これで、Sheet1に「客先から送られて来たエクセルデータ」を貼り付けるたびに、自動的にF列に「●」がある行のみを抽出して、縦横を並べ替えた結果がSheet2に表示されます。

coo270
質問者

お礼

はい。 客先がつけているマークです。 再チャレンジしてみます。(^^) ありがとうございます。 また、結果報告しますね。

coo270
質問者

補足

出来ました(^^) たすかりました。 ありがとうございます。

その他の回答 (2)

  • Pochi09
  • ベストアンサー率75% (42/56)
回答No.2

1) オートフィルタを使って、基準の印付き行のみ表示させた状態で、テーブル全体をコピー 2) 新しいシートのA1セルを選択して右クリック、形式を選択して貼り付けで、行列入替え 3) その後、不要となった項目~備考3の行を削除しては如何でしょうか? 基準列に複数の印あって、特定の印のみが有効…という場合、Excelが2003の場合は、オートフィルタだと何回か1~2を繰り返すか(並び順が変わります)、フィルタオプションを使う必要があるかもしれません。

coo270
質問者

お礼

さっそく試してみます。 オートフィルを使ったことがなかったので 一度、チャレンジしてから、またお返事します(^^) ありがとうございます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 まず、貼付け先に「項目」、「基準」、「備考1」、「備考2」、「備考3」が貼り付けられても構わない様に、「※4  あ」を貼りつける予定の行と「※5  全体」を貼りつける予定の行の間に、行を5行挿入して下さい。  その上で以下の操作を行って下さい。 (1)普通に「※1」から「横」までの範囲を選択   ↓ (2)選択範囲を示す黒い太枠の内側にカーソルを合わせてからマウスを右クリック   ↓ (3)現れた選択肢の中にある[コピー]をクリック   ↓ (4)貼付け先のセル範囲の中で、最も左上にあるセルにカーソルを合わせてからマウスを右クリック   ↓ (5)現れた選択肢の中にある[形式を選択して貼付け]をクリック   ↓ (6)現れた「形式を選択して貼付け」ダイアログボックスの中にある「行列を入れ替える」と記されている箇所をクリックして、チェックを入れる   ↓ (7)「形式を選択して貼付け」ダイアログボックスの[OK]ボタンをクリック   ↓ (8)全て貼り付け終えてから、「項目」、「基準」、「備考1」、「備考2」、「備考3」が貼り付けられている行を纏めて削除する  尚、使用するExcelのバージョンがExcel2007以降の場合には、(5)において[形式を選択して貼付け]ボタンを使わずに、代わりに[行列を入れ替える]ボタンをクリックしますと、それだけで(5)~(7)の操作を行ったのと同じ事が出来ます。

coo270
質問者

お礼

ありがとうございます。 今、その作業を永遠続けていますが、量がかなりあるのと、基準をもとに基準に印がついている場合のみ選択し、基準に印がある場合は、※1をシート1のA1に自動で持ってこれないかと思案しています。 マクロも考えたのですが・・・ 何をどうすれば一番良いのか・・・と、言う感じです。

関連するQ&A