• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで特定の行だけ別シートに抽出する方法)

エクセルで特定の行だけ別シートに抽出する方法

このQ&Aのポイント
  • エクセルで特定の行だけ別シートに抽出する方法についてご質問です。
  • 具体的には、Sheet1にある表から特定の行をSheet2に表示させたいということでしょうか。
  • フィルタをかけずに自動的に表示させる方法についてお教えします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.6

Sheet2のA2セルに入力した生徒番号の一致するSheet1のA列のデータを表示するなら、Sheet2のA4セルに以下の式を入力して下方向にオートフィルします。 =INDEX(Sheet1!A:A,SMALL(INDEX((Sheet1!$B$2:$B$10<>$A$1)*10000+ROW($B$2:$B$10),),ROW(1:1)))&"" 同様に第1回模試および第2回模試のデータは以下のような式になります。 B4セル =IF(A4="","",INDEX(Sheet1!D:D,SMALL(INDEX((Sheet1!$B$2:$B$10<>$A$1)*10000+ROW($B$2:$B$10),),ROW(1:1)))) C4セル =IF(B4="","",INDEX(Sheet1!F:F,SMALL(INDEX((Sheet1!$B$2:$B$10<>$A$1)*10000+ROW($B$2:$B$10),),ROW(1:1))))

90160622
質問者

お礼

皆様いろいろな回答をありがとうございました。 おかげさまで思っているような表ができました。

90160622
質問者

補足

ありがとうございます。おかげで思っているような表ができました。 ところで、できあがったSheet2を使ってグラフを表示させたいのですが、これまたうまくいきません。 どうも、参照してきた数字を数字として認識できないようなのです。 セルの書式は「数値」を選んでいます。 試しに同じ数値を手入力するとグラフに反映するのですが。。。 いろいろやっかいなことを申しますが、何とぞご教示ください。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • doredora
  • ベストアンサー率57% (4/7)
回答No.5

こんにちは 添付画像はシート2です シート1の科目と生徒番号の間に1列挿入し、科目コードのフィールドをつくり、 英数国は1、英は2とコードを振ってあります シート1のフィールド名を必要なセル(シート2)へコピーしたものが添付画像の2行目です シート2のセルG3に =DGET(Sheet1!$A$1:$H$5,D2,$B$2:$C$3) =DGET(データ範囲,フィールド名,抽出条件)となります。 右へ試験回数分ドラッグします シート1に1列挿入したのは、科目の英数国と英とをDGETが判別できない弱点をカバーするためです。 こんな感じでいかがでしょう?

全文を見る
すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.4

[No.3]の補遺、 ステップ3の「次式」を書き漏らしていました。 =OFFSET(Sheet1!$A$1,SMALL(Sheet1!$H:$H,ROW(A1))-1,MATCH(A$2,Sheet1!$1:$1,0)-1)

全文を見る
すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.3

添付図参照 1.Sheet1 のセル H2 に式 =IF(B2=Sheet4!A$1,ROW(),"") を入力して、   此れを下方にズズーッとドラッグ&ペースト 2.Sheet2 のセル A3 に次の[条件付き書式]を設定    数式が   =ISERROR(A3)    フォント色 白 3.Sheet2 のセル A3 に次式を入力して此れを右方および下方にズズーッ   とドラッグ&ペースト

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 一例です。 ↓の画像のようにSheet1に作業用の列を設けます。 作業列H2セルに =IF(OR(B2="",B2<>Sheet2!$A$1),"",ROW()) という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。 Sheet2のA3セルに =IF(COUNT(Sheet1!H:H)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!H:H,ROW(A1)))) B3セルに =IF(COUNT(Sheet1!$H:$H)<ROW(A1),"",INDEX(Sheet1!$C:$G,SMALL(Sheet1!$H:$H,ROW(A1)),MATCH(B$2,Sheet1!$C$1:$H$1,0))) という数式を入れ隣のC3セルまでオートフィルでコピー! 最後にA3~C3セルを範囲指定 → C3セルのフィルハンドルで下へコピーすると 画像のような感じになります。 ※ 作業列を使わず配列数式にする方法もありますが、データ量が極端に多い場合は PCに負担をかけますので、あまりオススメできません。 ※ セル配置は実状に合わせてください。 参考になりますかね?m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

例のように、 表中に生徒番号が重複して存在する場合、 ・すべて抽出 ・特定の行だけ抽出 後者の場合、その判断条件は何か? 生徒番号に重複が無く、抽出条件も生徒番号だけと言うのであれば 関数でも(VLOOKUP辺り)出来ると思いますが、 例の表のように重複があるとすると、その他の検索条件が必要であり、 そうなると関数だと少々捻る必要があります。 イメージだけで何も試していませんが、INDEXやMATCH辺りを駆使することになるかなぁと。 マクロで一気に必要な分だけ転記するやり方もありますが、 そこまで手間をかけるべき処理でもないような気もします。 フィルタで限定して特定列のみコピー貼り付けが一番手っ取り早いでしょう。 そんなわけで、 > 該当の列の特定の列だけを表示させる方法はありますか? これが質問の本文だとしたら、回答は「あります」ですね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【エクセルで特定の行だけ別シートに抽出する方法】

    たとえばSheet1に       生徒番号  生徒名   第1回模試  到達度    第2回模試  到達度  英数国  10101 今川義元   62.5   A2     60.2   A2  英数国  10101 伊達政宗   50.6   B2      55.6   b1   英   10101 今川義元   56.9   B1     52.3   B2   英   10102 伊達政宗   52.5   B1     60.2   A2 という表があります。 Sheet2のA1のセルから特定した列だけを表示させる        生徒名   第1回模試   第2回模試    英数国  今川義元   62.5    60.2     英数国  伊達政宗   50.6    55.6      英   今川義元   56.9    52.3      英   伊達政宗   52.5    60.2    というように、該当の列の特定の列だけを表示させる方法はありますか? フィルタをかけて抽出するのではなく、自動的に表示させたいのですが。 わかりにくい質問で申し訳ありません。なにとぞよろしくお願いします。

  • エクセルで項目ごとに新しい別のシートにしたい

    エクセルで名簿を作成しています。 C列に生徒番号、D列に氏名、E列にクラスがAからFまでランダムに入っています。 この名簿を新しいファイルに、クラスごとに別のシートにしたいです。 できればシート名も「A」「B」となっていれば助かります。 A,B列にもデータが入っていますが、今回は生徒番号、氏名、クラスのみの ファイルにしたいです。 良い方法を教えてください。よろしくお願いします。

  • Excelで特定の行だけ別シートに抽出する方法

    sheet1に下記のリストを作ります。 番号  名前    郵便番号     住所    電話番号     会社名  部署 1    高橋    〒111-1111   東京都   00-0000-0000  ○×    人事 2    田中    〒222-2222   神奈川県  111-11-1111   △□   営業 3    佐藤    〒333-3333   埼玉県    22-2222-2222  ・・・・   ・・・・ sheet2のA1に番号を入力すると「1」とした場合   名前    郵便番号    住所     部署   高橋    〒111-11111  東京都   人事 というように該当の列の特定の列だけを表示させる方法はありますでしょうか? 自動で抽出したいのですが、なにとぞよろしくおねい致します。

  • エクセル 別シートから一覧を抽出したい

    部品一覧表を作成しているのですが、2シートあり 1入力シート・2部品コードシートとあります。 部品コードシートにはB列に部品番号・C列部品名・D列部品番号・E列部品名と2行ずつ使い番号・品名がB~Wまで47行分入力されています。 B1:C47、D1:E47…と2列47行にはそれぞれ【A】、【B】、…とセルの名前の定義をつけました。現在【H】までありますが、今後増える可能性があります。 入力シートに、セルの名前を指定したときに部品コードのシートから 一覧を抽出したいのですが、どの関数を使えばよいのかわかりません。 入力シート                 |部品コードシート G   H                  | A Bコード C部品名  Dコード E部品名 4式入力用にあけています。     |1 1800  ユニットA   1501 電源A 5コード 部品名             |2 1801  ユニットB   1502 電源B 6                       |3 G4に関数を入れてG6~G52まで部品コードのシートA1~A47を一気に表示 させたいのです。部品コードシートの行数が変わることはありません。 マクロを使わないと、関数では難しいでしょうか?

  • EXCELで別のシートのデータを参照して返す方法

    ちょっとしたことなのですが、うまく式が書けなくて悩んでいます。 作業用のシート1と参照用のシート2があり、 シート1のA列には  あおき  あべ  いぐち  いはら などと文字列(名前)が入力されています。 こちらは今度の野球のスタメンだと思ってください。 シート2にはA列とB列があって、 わたなべ 55 いぐち  43 あおやま 67 いはら  41 などと、名前:背番号が羅列されています。こちらが参照用の全選手の背番号リストだと思ってください。 ここで、 シート1のB列に、A列の名前に対応した背番号を返したいのです。 なので、シート1のB列に IF(シート1のA列の値=シート2のA列のいずれかの値)だったとき、 適合したシート2の行のB列の値を表示する という式を入れたいのですが、どのように式を書けばよいでしょうか。 すみませんがどなたか教えてください。

  • Excel 対象行のみ別シートに表示したい!

    こんな事できますでしょうか?? Sheet1に住所録の表を作成したしました。 A列 郵便番号 B列 住所 C列 名前 A列に郵便番号が、入っている行のみSheet2に表示したいのですが・・・ その際、歯抜けではなく空欄行が出来ないようにしたいのです。 おわかりの方教えてくださーい!

  • エクセルで別シートを参照

    「あ」のシートに"社員番号"(A列)と"カナ"(B列)のリストがあり、 「い」のシートには"社員番号"(A列)と"漢字氏名"(B列)・"部署"(C列)のリストがあります。 「あ」のシートのC列とD列に、「い」のシートのB列とC列を表示させるにはどうしたらよいでしょうか。 新規に社員番号を入力していく場合は、VLOOKUPなどで出来ると思いますが、すでに入力済みのデータについて一括で参照する方法が判りません。 よろしくお願いいたします。

  • エクセルの1シートを項目別に別シートへ分ける方法

    エクセル2010で1シートのデータを項目別に別シートへ自動的に分割する方法で困っています。 検索するとマクロを使うと書いていますが、マクロはほとんど使ったことが無いのもあって、わかりませんでした。 シート1 A列(日付8ケタ+商品番号6ケタ) B列(売上額) 20130515000004           300 20130515000006           100 20130518000004           300 20130519000001           500 20130519000004           300 ・・・                   ・・・ をA列の日付部分上8ケタを使って日別にシートを分け、 シート名をuriage20130515(uriageと日付8ケタ)という名前にしシート名+CSV形式で保存したいです。 シート2 シート名:uriage20130515 A列         B列 20130515000004 300 20130515000006 100 シート3 シート名:uriage20130518 A列         B列 20130518000004 300 シート4 シート名:uriage20130519 A列         B列 20130519000001 500 20130519000004 300 このように自動で別シートに分割した上で、シート名CSV形式で保存まで自動でできるとありがたいです。 自動化できるならシートを分割するマクロ、シート名でCSV保存するマクロが一つのマクロになっていても、分かれていてもOKです。 このようなことはできますか? よろしくお願いします。

  • エクセルVBAで、ある文字を含んでいたら別シートに抽出したい

    エクセル2002を使っています。 シート1に  A列に氏名  B列に住所  C列に電話番号 のデータが300件の表があります。 B列を検索してたとえば大阪府があれば、その行(ABC列)をシート2へコピーして抽出したいのです。  VBAを使ってやりたいのですがどうしたらよいでしょうか? よろしくお願いします。

  • VBA 特定の行を別シートへコピー・削除

    下記のように、VBAで特定の行を抽出して別シートへコピーし、コピーした行については元リストデータを削除したいです。 具体的には、【出荷sheet】(C列注文番号は、出荷があった時に入力済)へ、注文番号に対応する行を【リストsheet】から抜き出してコピーし、コピー後は、【リストsheet】から該当行を削除したいです。 検索により調べてもうまく合致する回答が見当たらず困っています。 VBAの理解度は未熟ですが、何卒ご教授いただけると幸いです。 【リストsheet】 A列 B列  C列   D列 ・ ・ ・ J列 No. 日付 注文番号  品名 ・ ・ ・ ・ 1  1/1   A111   鉛筆  ・ ・ ・ ・ ←コピー後、削除  2   1/2   B222   ペン  ・ ・ ・ ・ 3    1/5  C555 消しゴム・ ・ ・ ・ ←コピー後、削除  ・ ・   ⇓ 【出荷Sheet】 A列 B列  C列   D列 ・ ・ ・ J列 No. 日付 注文番号  品名 ・ ・ ・ ・ 1  1/1 A111   鉛筆   ・ ・ ・ ・ 3   1/5   C555 消しゴム・ ・ ・ ・

専門家に質問してみよう