- ベストアンサー
いずれかの条件を含むデータを全て抽出したい
imogasiの回答
- imogasi
- ベストアンサー率27% (4737/17068)
参考にしてください。 エクセルのシートのデータで、条件に合うものを抜出したい、という質問は多い。ここでも、3か月に1回ぐらい出る。 基本は、エクセルでは、文字列指定の条件による、抽出は (1)操作の、フィルタでやる。 ただし、データが増減して、変わったら、再度やり直し、という欠点がある。 (2)エクセル関数では、データ内容による、条件による抜出は、式が複雑になって 難しいのだ。 (3)最近のエクセル・バージョンでは、FILTER関数が新設され、様子が変わった。 質問にエクセル・バージョンも書かないものは、こういうことも知らないのだろう。 (4)FILTER関数を使わない(使えない)場合、 (2)も中間作業列を使うと、すこし理解しやすい方法になる。 しかし、今まで、初心者らしい質問者ででも(1)や、「関数を使うが、中間作業列を使うこと」を 好まない者が多いようだ。また関数・関数という者が多いようだ。 ==== 付けたしで、 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/prog/prog04.html を参考にして、 参考にVBAでやったものを挙げてみる。内容は簡略化してある。 前もって、シート名が「リンゴ」、「柿」、「なし」、「ぶどう」、「オレンジ」のシートを、操作で作っておく。 これもVBAでも、できるが、今回は略。 例データ(元データ) シート名は「データ」A1:B10 品物 個数 <ーー見出し行 リンゴ 1 柿 2 なし 3 ぶどう 4 オレンジ 5 ぶどう 6 柿 7 ぶどう 8 リンゴ 9 柿 10 ーーー 標準モジュールに Sub test02() '品物(個別)名のシート以外のシー名のシートは、存在させないこと。 Dim myFld As String Dim myCri As String Dim myRow As Long For Each sh In Worksheets 'Worksheets("データ").Range("A1").AutoFilter myFld = 1 'InputBox("検索は何列目ですか?") 本例ではA列の品物名で探す myCri = sh.Name 'InputBox("検索する語句を入力しなさい") 本例ではシート名でA列を探す MsgBox myCri 'オートフィルタでデータを抽出する Worksheets("データ").Range("A1").AutoFilter Field:=myFld, Criteria1:=myCri '抽出データの最終行を求める myRow = Worksheets("データ").Range("A" & Rows.Count).End(xlUp).Row MsgBox myRow '抽出先シートの範囲ををクリアする 'Worksheets(myCri).Columns("A:B").ClearContents 'A,B列データクリア '抽出した結果データをコピーして、品物シートに貼り付け Worksheets("データ").Range("A1:B" & myRow).Copy Worksheets(myCri).Range("A1") '「データ」シートのオートフィルタを解除 Worksheets("データ").Range("A1").AutoFilter '抽出先シートをアクティブにしてA1セルを選択する 'Worksheets(myCri).Activate 'Range("A1").Select Next End Sub ーーー 実行の結果 「リンゴ」シートは、 品物 個数 リンゴ 1 リンゴ 9 他の「品物」のシートは、実行結果を見てください。 == こういうデータベース的な処理では関数でやる(FILTER関数以外で)のは古い。非能率的。 新しいバージョンのエクセルで使えるようになった、PowerQuery機能などを勉強すべきかと思う。
関連するQ&A
- エクセル 複数条件抽出について
エクセル2013を使用しています。 データシートより複数条件に当てはまるデータを 別のシートへ必要な項目のみ抽出する方法(関数orマクロ)をお教え下さい。 データシート:A列からU列まで様々なデータが入力されている。 抽出条件:H列とN列 抽出する項目:C列・I列・M列・O列・Q列・R列・S列 (抽出する項目は増える可能性有) 複数条件の抽出はフィルタオプションで出来たのですが、 抽出が必要な項目を指定する方法が分かりませんでした。 宜しくお願いします。
- 締切済み
- Excel(エクセル)
- Excelでの複数データ抽出方法
Excelで関数を使用して以下のようなデータから 複数のデータ抽出を行いたいのですが可能でしょうか? <sheet1> A列 B列 C列 D列 E列 123456 11 12 13 13 123457 12 13 14 13、14 123158 13 14 15 13,14 123159 14 15 16 14 123160 15 16 17 ※抽出するデータは「13・14」になり、抽出場所は別シートでもかまいません。 過去の質問など参照してみましたがうまく出来ませんでした。 複数の関数を組み合わせでもかまいませんので、お手数おかけしますが よい方法が有ればご教示お願いします。
- ベストアンサー
- その他MS Office製品
- エクセルデータ抽出方法を教えてください
エクセルでのデーター抽出方法を教えてください、シート1:A1にUA1と入力し、シート2:A列にはUA1・・・・複数のデータが縦に並んでいます、シート1:A1に入力したデーターを元にシート2:A列を検索し該当するデータの抽出を行いたいです、VLOOKUPではうまく行きません教えてください
- ベストアンサー
- その他([技術者向] コンピューター)
- 条件に合った値を抜き出すには
例えば、A列に縦に並んだデータのシートが数十枚あります。 その各シートのデータの先頭の値と、 指定する値(複数あります)に当てはまったデータだけを新しいシートに抜き出す方法はありますでしょうか? A列に縦に続くデータ 0 1 2 3 4 5 ・ ・ ・ 上記データのより <複数の条件を指定する〉 0123 ○→全て該当するので抜き出す 012345 ○→全て該当するので抜き出す 123456 ×→全て該当しないので抜き出さない (全て文字列モードで表示できる方法があれば嬉しいです)
- 締切済み
- オフィス系ソフト
- <EXCEL>条件に合うデータを抽出する関数
EXCELで、条件に合うデータを抽出し個数を表示させたいと思っています。 ただしSUMPRODUCTなどの『複数条件の設定』ではなく、『特定の文字列を除く』 という形で設定したいのですが、そのような関数はありますか?
- ベストアンサー
- オフィス系ソフト
- Excelで複数条件を満たすデータを抽出
以下のような場合の、データ抽出方法を教えてください。 Sheet1 "計画”, Sheet2 "実績”があります。 それぞれのSheetの A~Dには、共通列項目である ”都道府県””都道府県コード””品目””品番” が設定されています。 このふたつのSheetをまとめて、項目順に”計画”データの下に”実績”データがくるようなSheetを作りたいのですが、上記4つの条件が全て共通なデータを、関数等と使って抜出すことはできるのでしょうか? If、VLOOKUP、And、”名前をつける”などを組み合わせて、いろいろ考えてみたのですが、複数条件を満たす結果の抽出ができませんでした。 宜しくお願いします。
- 締切済み
- オフィス系ソフト
- エクセル データ抽出について
(データ) A B C 1 I あ 20 2 II い 30 3 III う 10 4 IV あ 10 5 V い 20 6 VI う 30 したい事(1) A列のうちいずれかの項目を入力すると、B列の該当値を抽出 したい事(2) (1)のB列該当値が検索一行目で抽出されたら、その値からC列の値を抽出したい 困っていること・・・B列に全く同じ名前の項目があるため、抽出すると 先に来る値が飛んできてしまう 例:IVを入れると「あ」が自動で抽出され、その「あ」でさらに「10」を抽出したいのに、先にあるC1の「20」が飛んできてしまう。 それぞれ、(1)(2)にどのような関数を入れると、抽出したい値が出てくるでしょうか?
- ベストアンサー
- オフィス系ソフト
- EXCELでデータを抽出してコピペしたいです
指定した日付より、それ以前の誕生日(指定日も含む)の人だけを抽出してコピペしたいのですが WORKBOOK1のSHEET1(名簿)のH列に生年月日(他の列にもデータあります) データは、1200件(行)あります。 WORKBOOK2のSHEET1(該当者)名簿と配列は同じです。 A1に指定の日付をいれます。 WORKBOOK1のSHEET1(名簿)より抽出したデータのペースト位置は、A3からです。 VBAで可能でしょうか?
- ベストアンサー
- オフィス系ソフト
- 指定条件に合うデータを関数で抽出したい
Excelの表のデータで指定の条件に合ったデータだけを、関数を使って抽出したいです。 条件:C列="〇" A列 B列 C列 (抽出結果) 東京 10 〇 東京 10 〇 大阪 20 〇 大阪 20 〇 大阪 25 × 関数としては、ROW、ROWS、COLUMNS関数は理由があって使えません。ROWなどで設定する値は手打ちでも構いませんので、教えていただけると助かります。 どうぞよろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- excelで条件に一致するデータ全てを抽出する方法
現在、エクセル2003を使用しています。 A列・B列・C列にデータが入力されています。 ただし、空白セル(空白行)もあります。 A列に“@Name”とデータ入力がある場合 同じ行のC列の値を抽出したいと思います。 A列に@Nameは複数ありますが、C列の値は それぞれ違いますので、データの集計先はF列に 全て抽出をしたい。 なにか良い方法(VBAや関数)がありましたら 教えてください。
- ベストアンサー
- オフィス系ソフト
補足
返答ありがとうございます。 VBAも試してはみたのですが、作業が複雑でうまくいきませんでした。 ありがとうございました!