• ベストアンサー

Excelの行の抽出について質問です。

soixanteの回答

  • ベストアンサー
  • soixante
  • ベストアンサー率32% (401/1246)
回答No.4

すみません、#3の続きはコレです。 '-------------------------------------------------------------- r = 2 Do While Cells(r, 1).Value <> "" If Ws1.Cells(r, 3).Value < Tsuki Then LstRow = Ws2.Cells(Rows.Count, 1).End(xlUp).Row + 1 Ws2.Cells(LstRow, 1).Value = "当月以前で未確認" Ws2.Cells(LstRow, 2).Value = Ws1.Cells(r, 2).Value Ws2.Cells(LstRow, 3).Value = Ws1.Cells(r, 3).Value End If r = r + 1 Loop EdRow = LstRow + 1 Set Rng = Range(Cells(StRow, 1), Cells(EdRow, 3)) Rng.Sort _ Key1:=Cells(StRow, 3), _ Order1:=xlDescending, _ Key2:=Cells(StRow, 2), _ Order2:=xlAscending, _ Header:=xlNo, _ OrderCustom:=1, _ MatchCase:=1, _ Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin Set Rng = Nothing Set Ws1 = Nothing Set Ws2 = Nothing End Sub '-------------------------------------------------------------- ご意向にそぐえてますか、一度新規ブックにてお試しください。

関連するQ&A

  • エクセルで、データのある行だけを抽出したい。

    エクセルのSheet1にデータが入っており、セルが空白でない行のデータのみを、Sheet2に抽出したいと思っています。 Sheet2にあらかじめ関数を入れておく方法にしたいため、関数について教えてください。 タイムテーブルで予定を管理するような表で、A~Hまでにデータが入っています。 予定を入れる際にはE列には必ず入力をするため、E列が空白でない行のみを抽出したいです。 A|B|C|D|E|F|G|H 月|日|時間|… 11|22|10:00|… 11|22|10:30|… 時間枠は10:00~17:00の30分刻みで、1日15行使用するので、1年で5475行まで使用します。 1行目はタイトル行なので、データは2行目から入力しています。 フィルタオプションで抽出する方法や、それをマクロで登録しておく方法は分かったのですが、あとから予定を追加することがあるため、マクロを実行する度にデータが置き換わると困ってしまいます。 また、抽出したSheet2のI列以降には備考などを入力したいため、やはり後から列がずれると困るため、A~H列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • EXCEL抽出?についてご指導ください。

    シート1にあるデータをシート2に抽出したいのですが・・・ シート1にあるデータの2列目と3行目で交差する「A」を シート2のA1セルに「2」A2セルに「3」と入力すると 指定したセル(たとえばB1セルに「A」と表示(抽出)させたいのですが、ご存知の方教えていただけませんか? (シート1)   1 2 3 4 5 1 2 3    A 4 (シート2)   A  B  C 1 2  A 2 3 3 よろしくお願いします。

  • エクセル フィルタオプションで 特定の文字列を含む行を全て抽出する方法がわかりません

    エクセル2002を使用しています。 エクセルフィルタオプション設定で、特定の文字列を含む行を全て抽出する方法がわかりません。 たとえば sheet1    A    B    C    1 項目1 項目2 項目3  2  あ   い    う    3  う        あ    4  え        い 5      う       Sheet2   A         B         1 抽出文字列 2 あ  3   4 (計算式) 5 (以下抽出結果)   上記のようなデータがあり、sheet2!a5以降に「あ」が該当する行を全て抽出するといった式を組みたいのですが、 Sheet2 a2に抽出文字を入力し、a4に「=or(sheet1!a2=a2,sheet1!=a2,sheet1!=a2)」といった検索条件式を組み、フィルタオプションで、 ・リスト範囲 Sheet1!$a$1:$c$5 ・検索条件範囲 $a$3:$a$4 ・抽出範囲 $a$5  と指定するのですが、うまく抽出できません。 ちなみに抽出対象が文字列でなく数字なら(たとえばSheet1のデータの文字をあ→1 い→2のように全て数字に置き換えてSheet2!a2に1を入力)抽出できるのですが・・・ 文字列をセル参照して条件式を組む場合に何か気をつけることがあるのでしょうか?文章が長くなってしまい申し訳ありません。良い方法があればご教授お願いします。

  • エクセル 行にある項目を抽出

    間違えて他のカテゴリーで質問してしまいました。 そちらは閉めましたので改めてこちらで質問させてください。 エクセルで下記のような表から項目を抽出したいのですが うまくいきません A列 りんご みかん りんご ぶどう みかん と入力されていて任意のセルに、A列に入力されている項目から 重複分を除き抽出したいです 具体的には任意セルに「りんご、みかん、ぶどう」と抽出したいのです。 フィルタオプションを利用し、抽出することはできました。 また、それをマクロ登録すれば、A列に追加項目があっても 自動変更できるという、回答も頂き、確かにできたのですが、 このエクセルから、ハイパーリンクでワードへ飛ばしたり、 いろいろと込み入っているため、できれば、 マクロではなく、関数利用をしたいのですが、 どのような関数を利用すればよいのかわかりません。 ご存知でしたら、ご教示お願いいたします。

  • エクセルで項目を抽出したい

    皆様のお知恵をお貸しください。 日々作業者が行っている日報の項目を一覧表より抽出したいのです。 シート1には受付日(A列) 品番(B列) 数量(C列) 納期(D列)・・・ などが記入されています。日々増えていき月あたり100件程度です シート2には作業者の日報に書かれている品番(A列)、作業時間(B列)、作業者名(C列)作業日時(D列)を手入力していきます。 月当たり1000ほどの入力になります。 複数の作業者が同じ仕事をすること、日をまたぐこともあり重複しています。 求めたいことはシート3のA列にシート2で書かれた品名をシート1の品名の中から抽出し自動で書き出したいのです。 今はピボットを使いシート2のデータを表にして、そこの項目をLOOKUP関数を用いて導きだしていますが、その都度ピボットを更新させないといけないので煩わしいと思い、できれば関数で抽出をしたいのです。欲を言えば品番の若い順に自動で抽出できればいいのですが、まずはシート2に書かれた順でもかまいません。 記入例 シート1には A列    B列    C列    D列 10/1   10001    30    10/12 10/2   10002    1     10/5 10/2 10003 3 11/5 ・       ・        ・ シート2には  A列    B列     C列    D列 10001    2.5     ○○   10/2  9058    4      ○○   10/2 10003 1 ○○   10/3 10001 1 ××   10/3  10003 6 ××   10/3 10002 2 △△   10/5 シート3には(希望としては)  A列     9058 10001 10002 10003 . . . よろしくお願いします。     

  • エクセルで検索→抽出

    お願いします。 シート(1)に次のように入力されています。 A列 B列 C列 D列 E列 → Y列 番号 県 性別 年齢 来社 1行目   1 東京 男  45 09/21  2行目   2 京都 女  33 10/07  3行目   3 福島 女  49 10/25  4行目   4 京都 男  25 12/05  5行目   5 東京 女  30 12/30  ↓ 以上のようにY列まで項目と、1110人のデータが 入ったシート(1)があります。 シート(2)に検索したい文字を入れて抽出する方法を教えてください。 例えば京都出身の人を検索したい場合↓ シート(2)の1行目にはあらかじめシート(1)の項目をコピーしておく 検索したい『京都』は「県列」の項目だから B列の2行目に『京都』と入力する。(1行目には項目) 3行目以降に検索結果↓が表示される。 2 京都 女  33 10/07  スイカ 4 京都 男  25 12/05  モモ 8 京都 女  58 05/04  りんご 12 京都 女  12 06/20  オレンジ また、年齢10~35を検索したりなどもできれば… データを入力したり検索したりするのは、パソコンに不慣れな方ですので エクセルに詳しくない人でも簡単に使用できるよう作成できればと思います。 以上、 検索項目を入力し、下の行に抽出されるような関数はありますでしょうか・・・? なければ近いものでも構いませんので教えてください。 宜しくお願い申し上げます。

  • オートフィルターの抽出されない条件とは

    シートに8列の項目があり項目に対応する文字列を入力しているブックがあります。A列に識別コード(主キーみたいな感覚で)作成してこれまでは Sheet1.Range("A1").AutoFilter Field:=1, Criteria1:= _ "=*08??", Operator:=xlAnd として抽出したい文字列だけ抽出できていました。 今回、別の識別コード(具体的には月日です)をA列に新たに挿入して同じように抽出を試みましたが、何も抽出されず文字列が入力されている最終行の次の1行以前が消えてしまいます(空欄が抽出された)。しかし、完全一致であれば抽出できます。なぜでしょうか?  ちなみに新しい識別は月日なので4桁の数字で10月10日→1010というようにしています。これで10月の行を抽出したいので"=10??"で抽出をかけてみたりしているのですが・・・。

  • EXCEL データをコピーして別シートの最初の空白行に貼り付けたい

    EXCEL データをコピーして別シートの最初の空白行に貼り付けたい Sheet1はA列からR列までを使ったシートで、1行目は各項目があり、2行目からは当月のデータが入力されています。 Sheet2はSheet1の1行目と同じようにA列からR列までが項目になっていて、期中のデータを付け足していきたいと思っています。 マクロの記録でやってみたのですが、前月の最後の行(貼り付ける最初の空白行)の認識の仕方が分からず、Sheet2への貼付がうまくいきません。 どのような方法でやったらいいのか教えて下さい。

  • 検索後、行を抽出するマクロ

    エクセルのシート1、A列からE列まで1~800のセルにテキストが入力されいます A列を検索(部分一致)し、ヒット(複数)した行をシート2へコピーしていのですが出来ません。 因みに、A列は文字列で「赤エンピツ、黄エンピツ」などでエンピツと検索してら両方抽出したいです。 初心者で何も判らず本等を読んでも訳判りません、どなたか御教授よろしくお願いします。

  • エクセルで20万行あるシートから100行ずつ抽出したいのですが

    お世話になります。 エクセルで20万行のデーターがあります(時刻と温度のデーター)。 これを100行ずつ抽出し、別のシートにコピーしたいのですがどうすればいいでしょうか? +’sheet’A1 +’sheet’A101 +’sheet’A201 ・・・ と手入力では大変ですので、ドラッグで一度に出来るやり方を教えて頂けると幸いです。 よろしくお願いします。