Excelデータを抽出する方法

このQ&Aのポイント
  • Excelデータを抽出する方法についてご質問いただきました。
  • Excel2003のデータで、A列には意味のない数字とアルファベットの羅列があります。
  • そのパスワードに対応した名前や所属などを含むレコードを抽出したい場合、フィルタオプションやワイルドカードの使用が考えられます。希望に合った方法をご紹介します。
回答を見る
  • ベストアンサー

Excelデータを抽出

お世話になっております。 Excel2003です。 データがA列、B,C,D,..とならんでいます。 A列にパスワードのような意味のない数字とアルファベットの羅列が縦にならんでいます。 (仮にパスワードと呼びましょう) そのパスワードの横はそれに対応した名前、所属・・のような感じです。 一行(一レコード)単位で抽出したいんです。 A列に例えば「a」から始まるパスワードをもつ人のレコード(一行)だけを抽出したいとかいう感じです。 フィルタオプションも考えました。 フィルタオプションで検索条件のところに 別セルにいれた「a*」というものをいれてみたり。。 ワイルドカードはつかえるんでしょうか? ↑にかいたようなやり方ではなくてもかまわないので、希望がかなえられるようなやり方を教えてください。

  • aimer
  • お礼率75% (432/575)

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

オートフィルタにおけるワイルドカードは使えます。 「含む」とは、「一致する」で条件[*文字*]でもOKです。 「一致する」で条件[a*]でも良いでしょう。 ただしオートフィルタが対応できる行数制限がネックかも。

aimer
質問者

お礼

ありがとうございます。 まさにほしかった回答でした ありがとうございました

その他の回答 (7)

  • Poer
  • ベストアンサー率45% (72/157)
回答No.8

(#7の訂正)   =ISERROR(VLOOKUP($H2,$B$2:C$101,COLUMN(B1),0),"",VLOOKUP($H2,$B$2:C$101,COLUMN(B1),0))    ↓   =IF(ISERROR(VLOOKUP($H2,$B$2:C$101,COLUMN(B1),0)),"",VLOOKUP($H2,$B$2:C$101,COLUMN(B1),0))  何度もすみません(-_-#)。

aimer
質問者

お礼

ものすごい頭のよさそうなやり方を提示してくださってありがとうございます。ほしい情報がもらたし、ちょっとむずかしそうなので、後日考えてみたいとおもいます。 ありがとうございましたペコリ(o_ _)o))

  • Poer
  • ベストアンサー率45% (72/157)
回答No.7

 #4です。たびたび失礼します。  I2に入れる =VLOOKUP($H2,$B$2:C●,COLUMN(B1),0) という式の●の部分には表の一番下のセルの行番号を入れ、数字の前には$を付けてください  例:=VLOOKUP($H2,$B$2:C$101,COLUMN(B1),0)  ここにISERROR関数を使うと次のように式が長くなりますが、エラー表示はなくなります。  =ISERROR(VLOOKUP($H2,$B$2:C$101,COLUMN(B1),0),"",VLOOKUP($H2,$B$2:C$101,COLUMN(B1),0))  私のやり方がややこしく、他の方のご回答でよければ、私の回答を無理に採用して頂かなくても結構です(使うと便利な方法ですが...)。あしからず...。

  • Poer
  • ベストアンサー率45% (72/157)
回答No.6

#4です。#4の回答でも問題ないと思いますが、念のため少し訂正します。 (5)I2に =VLOOKUP($H2,$B$2:C11,COLUMN(A1),0)  と入力し、表の下端までコピー、そのまま右3列(M列まで)にもコピー。 ↓ (5)I2に =VLOOKUP($H2,$B$2:C11,COLUMN(B1),0)  と入力し、表の下端までコピー、そのまま右3列(L列まで)にもコピー。 ちなみにこのやり方ではワイルドカードは必要ありません。

aimer
質問者

お礼

ものすごい頭のよさそうなやり方を提示してくださってありがとうございます。ほしい情報がもらたし、ちょっとむずかしそうなので、後日考えてみたいとおもいます。 ありがとうございましたペコリ(o_ _)o))

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

フォームを使ってみたら如何でしょうか。 表の先頭(例えば、A1)で⇒データ⇒フォームで実行すると、行単位で入力フォームが表示され、各項目単位又は項目複合条件で検索が可能となります。 尚、検索条件では、ワイルドカード(*,?)も使用可能です。

aimer
質問者

お礼

はっはーなるほど、excelってこういうこともできるのですね。勉強になりました。 今回は、いっぺんに検索結果をだしたかったので、 今回はごめんなさいペコリ(o_ _)o))

  • Poer
  • ベストアンサー率45% (72/157)
回答No.4

以下は関数を駆使した私の裏技?です。お時間があれば試してみてください。 H1を条件入力用に使うとします。 (1)表の列を4列とし、C列からF列まで表を入れる(ただし1行目を項目見出し用とします。) (2)A2に =IF(LEFT(C2,LEN(H$1))=H$1,1,0) と入力し、表の下端と同じ行までコピー。 (3)B2に =COUNTIF(A$2:A2,1)  と入力し、表の下端までコピー。 (4)H2に =ROW(A1)  と入力し、表の下端までコピー。 (5)I2に =VLOOKUP($H2,$B$2:C11,COLUMN(A1),0)  と入力し、表の下端までコピー、そのまま右3列(M列まで)にもコピー。 このやり方を使うと、H1に条件を入力するだけで、フィルターを掛けたようにデータを抽出することができます(1行だけでなく、複数行抽出できます)。条件に当てはまらないものはエラー表示となるので、その辺はISERROR関数などで別のシートに結果を表示するなどして調整すると良いです。  ご質問の意図と違っていたらごめんなさい。

aimer
質問者

お礼

ものすごい頭のよさそうなやり方を提示してくださってありがとうございます。ほしい情報がもらたし、ちょっとむずかしそうなので、後日考えてみたいとおもいます。 ありがとうございましたペコリ(o_ _)o))

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

パスワード asdf zxcv qwer abcs が元の列として、抽出条件範囲に パスワード ="=a*" と入力すればOK

aimer
質問者

お礼

ありがとうございました。 オートフィルタをかけてから、オプションで、 条件に「a*」といれることで解決しましたペコリ(o_ _)o))

  • endo5412
  • ベストアンサー率18% (2/11)
回答No.1

データ抽出というより,データ件数の整理として「=COUNTIF(A1:A4,"a*")」というやり方であればワイルドカード等が使えます。  ただし,オートフィルタのように一定のデータ行を整理するのであれば,チョト難しいと思いますが,関数=COUNTIF(A1:A4,"a*")を使用してみてください。

aimer
質問者

お礼

数をかぞえるんですね。 データ整理の参考としていいですね ありがとうございました

関連するQ&A

  • エクセルを使ってスレッドから必要なデータを抽出

    ご閲覧ありがとうございます。 私は、掲示板のスレッドからエクセルで必要なデータを抽出する作業を勉強しています。 過去の質問や検索で自分なりに調べた結果、スレッド内で「すべて選択」してエクセルのセルに「貼り付け」し、列を暗転させた後に「データ」→「フィルタ」→「オートフィルタ」→「(オプション)」で“必要なデータの文字を含む行の抽出”ができました。 私の現段階の目標は、“スレッド内の投稿者IDのみを抽出し、セルに貼り付けて並べる(縦・横どちらでも構わない)”です。 これまでの知識では、IDと共にハンドルネームやレス番号が含まれた状態で抽出されるので、膨大な量では検索したり比較することが困難です。 どなたか手解き頂きたく存じます。

  • EXCELのデータの抽出

    EXCELで例えばA列のA1からA10000まで10000個データがあるとします。この10000点のデータを10の倍数のA列のセルだけを抽出して(A10,A20,A30・・・・というような感じで)1000点に減少させたものをB列に作成したいのですが、どのようにしたらいいんでしょう?

  • エクセルのデータ抽出

    会社で注文のあった業者のリストをエクセルで 作ってて450行くらいあります。 各項目には会社名や内容や価格などありますが その中には空白のセルや行もあります。 そこからA列に自分が抽出したい行に印をいれて フィルタをかけたところ、空白があるためか すべてを抽出できません。1行1行抜き出すのもいいのですが 今後、データも増えることを考えると 何かいい方法で抽出したいのですが、 どうしたらいいでしょうか? やはりマクロをつかうのでしょうか? すみませんがよろしくお願いいたします。

    • ベストアンサー
    • Mac
  • エクセル2003 データの抽出

    excel2003を使用しています。 A列に8桁のコード、B列に、そのコードの品名が入力された表があります。 この表の中から、最初の4桁だけ一致するデータを抽出したいのですが どうすればよいでしょうか? オートフィルタオプションを使ってみたのですが、うまくできません。 よろしくお願いいたします。 例:12348888、12349999、12346666、32224434、46732235・・・・と並ぶコードの中から、 1234×××× のコードの行だけが、表示されるようにしたい。

  • EXCELのデータ抽出

    縦x横x奥行の寸法データが記載されたデータが取引先からEXCELで届きます。 1300x500x10 や 500x500x100という表記です。 これらの寸法データはワンオフ品のため毎回4桁~2桁の数値で異なります。 縦、横、奥行のデータを下記のようにそれぞれ別のセルに抽出したいと思い いろいろ調べてみたのですがいい方法が見当たりません。 なにか方法はあるでしょうか? ご教示お願いします。 A列 1300x500x10  A列   B列   C列 1300   500   10

  • excel 2003 オートフィルタ!

    excel 2003で、オートフィルタがうまくいきません。 A列の2行目から、1~5までの数字がランダムに並んでいるとします。 A1セルをオートフィルタし、 条件を、オプション>3を含む で指定すると、3がフィルタされてほしいのですが 1つも抽出されません。 3で始まるもだめでした・・ フィルタで抽出するマクロをくんでいて 列は、20列以上あり、 列によって、文字や数値があります。 フォームで列を選び、検索文字を入力して Criteria1:="=*" & 検索文字 & "*", Operator:=xlAnd と言う感じでフィルタしています。 文字はできますが、数値ができないのは、なぜでしょうか・・・

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

    エクセルの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列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • エクセル 同じデータなのに違うという判定

    2つのエクセルファイル(電話番号リスト)を比較し、一致するものだけを抽出するという操作をしています。 フィルタオプションを使い、一致するものを抽出しているのですが、まったく同じ電話番号なのに、フィルタオプションで抽出されないものがあり、困っています。 たとえば、0120-234567という電話番号がファイル1にあったとして、まったく同じ番号がファイル2にもあるのですが、この2つが違うデータとして扱われてしまうのです。 試しに2つのファイルから、セルをそのままコピーし、別のエクセルファイルに並べ、if(A1=A2,"一致","一致しない")という関数をしてみると、なんと「一致しない」でした。 見た目的には全く同じなのに、何故なのでしょうか。 ちなみにそれぞれの電話番号セルをダブルクリックし、文字列のみコピーして同じことをすると、「一致する」になりました。 セルに見えないデータでもあるのかと、cleanをしてみましたが、セルをそのままコピーする方法だと、cleanをしても「一致しない」です。 一つ一つのセルをダブルクリック→文字列コピーをすればよいのですが、件数が多く手間です。 この2つのデータが見た目通り同じものだとされるためには、どのような方法があるでしょうか。

  • 【エクセル】重複データ抽出時にうまくいかない

    エクセル2003で、[データ]→[フィルタ]→[フィルタオプションの設定]で下記のように 設定して重複データを省きました、 ・「指定した範囲」にチェック ・「リスト範囲」に$A$1:$A$13を入力。 ・「抽出範囲」に$B$1を入力 ・「重複するレコードは無視する」にチェック の条件で実行すると。 [元データ]  A列 1 a 2 a 3 b 4 b 5 c 6 c 7 c 8 d 9 d 10 d 11 e 12 e 13 e が [フィルタ実行後]  A列  B列 1 a  a 2 a  a 3 b  b 4 b  c 5 c  d 6 c  e 7 c 8 d 9 d 10 d 11 e 12 e 13 e の様にB列でaが2つ出てしまいます。 なにが原因でしょうか?

  • excelのデータ抽出

    縦軸の条件と横軸の条件からデータを抽出する方法を教えてください。 以下のような表があります。    A  B   C   D   E  ・・・・ 1    0.5  2.5  3.1  5.5 2 40   2  5   10  3 3 55 4 35 1行およびA列の値を別セルに入力して、クロスするデータを出したいのですが、例えば別セル(1)に40と入力し別セル(2)に5.5と入力すれば、別セル(3)に3と抽出したいです。 また、出来れば別セル(2)に入力する値が表にない場合、入力した値より大きな値で一番近い値を読み取れればベストなんですか。 例えば別セル(2)に5.4と入力した場合には5.5の列を抽出 なにか良い方法はありますか? よろしくお願い致します。

専門家に質問してみよう