エクセル表からの取り出し方法

このQ&Aのポイント
  • エクセル表から特定の条件でデータを取り出す方法を紹介します。
  • B列のナンバーを基準に、M列にあるテキストを取り出す方法を解説します。
  • B列の空白の行やナンバーの下が空白の場合は、取り出しをスキップする方法を説明します。
回答を見る
  • ベストアンサー

エクセル表からの取り出し条件

こんにちわ。エクセルで作成した表がありまして、そこから取り出しにご協力をいただけないでしょうか。 B列はナンバーと空白でできています。 B列のナンバーを基準に、M列にあるテキストを取り出したいのですが、 B列空白の行は無視したいのと、B列にナンバーが入力されている場合でも そのすぐ下が空白の場合は、そのナンバーは取り出さないようしたいのです。 下記の例ですと、取り出す行は16が入力されている行のみにしたいのです。 行数がめちゃくちゃ多いので、助けていただけるとありがたいです。 宜しくお願い致します。 B列    M列 10    りんご       ばなな       まぐろ 16    さんま 20    きゃべつ       みかん

  • verify
  • お礼率44% (384/858)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

VBAです。気に食わなければ無視して。 エクセル関数での抜出し課題は、式が複雑、考え方も複雑という小生の持論なので。 VBAでも、一番初歩的なやり方だろうと思う。 ーー データ例 A列 M列  -は空白セルを便宜的に表したもの。 番号 文字列 10 りんご ー ばなな ー まぐろ 16 さんま 20 きゃべつ ー みかん 22 なし 23 ブドウ ー キウィ ー イチジク 25 もも ーーー 10万行以下とする(増やすのは1箇所修正で可。Ò列、P列に結果を出す。 (列指定を変えるのは2箇所修正で可) 標準モジュールに Sub test01() lr = Range("M100000").End(xlUp).Row '最終行取得 MsgBox lr k = 2 For i = 2 To lr '第2行から最終行まで繰り返し If (Cells(i, "A") <> "" And Cells(i + 1, "A") <> "") Or (Cells(i, "A") <> "" And i = lr) Then Cells(k, "O") = Cells(i, "A") Cells(k, "P") = Cells(i, "M") k = k + 1 End If Next i End Sub ーー 実行結果 O列 P列 16 さんま 22 なし 25 もも

verify
質問者

お礼

気に食わないなんてとんでもない。 本当にリスペクトです。 すばらしいスクリプトどうもありがとうございました。 一瞬でカタがついてしまい、今日は残業しなくて済みそうです。 ありがとうございました。

その他の回答 (2)

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.2

》 行数がめちゃくちゃ多いので… 貴方の「めちゃくちゃ」は、取り敢えず、最大何行と覚悟しておけばよろしいのでしょうか?

verify
質問者

補足

ありがとうございます。 大体、2万行程度です。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

取り出したいナンバーが16の場合は、以下の式でいかがでしょう。 =VLOOKUP(16,B:M,12,FALSE)

verify
質問者

お礼

取り出したい番号がわかってないのです。 それだといらないやつを多分弾けないと思います。。 しかしながら、ご回答どうもありがとうございました。

関連するQ&A

  • エクセル 条件付き書式設定でできることについて。

    エクセル 条件付き書式設定でできることについて。 こんにちは。すみません。 今日は、エクセルの条件付き書式設定について聞きたいことがあります。 例えば A列   B列    C列 リンゴ  出荷  スーパー バナナ  未出荷 倉庫 ミカン  出荷  市場  リンゴ  ・   ・ バナナ  ・   ・ バナナ  ・   ・ ミカン  ・   ・ りんご  ・   ・ とある場合。 バナナの項目について分かりやすくするため バナナの行全体(B,C列)についても塗りつぶしなどを設定をしたいと考えています。 ただ、いちいち、バナナの項目毎に、B、C列まで塗りつぶしなどをおこなっていると じかんがかるため、できたら「バナナ」という項目とその行について自動的に 塗りつぶし等の効果をかけたいのですが、これって条件付き書式設定でできますか?? お願いします。

  • エクセル 条件付き書式設定でできることについて。

    エクセル 条件付き書式設定でできることについて。 こんにちは。すみません。 今日は、エクセルの条件付き書式設定について聞きたいことがあります。 例えば A列   B列    C列 リンゴ  出荷  スーパー バナナ  未出荷 倉庫 ミカン  出荷  市場  リンゴ  ・   ・ バナナ  ・   ・ バナナ  ・   ・ ミカン  ・   ・ りんご  ・   ・ とある場合。 バナナの項目について分かりやすくするため バナナの行全体(B,C列)についても塗りつぶしなどを設定をしたいと考えています。 ただ、いちいち、バナナの項目毎に、B、C列まで塗りつぶしなどをおこなっていると じかんがかるため、できたら「バナナ」という項目とその行について自動的に 塗りつぶし等の効果をかけたいのですが、これって条件付き書式設定でできますか?? お願いします。

  • エクセルで2列に入力された同一データを全て抽出したい

    下の表でA列とB列に入力された「バナナ」を全て、すなわち1,2,3,5行目を抽出をしたいのです。 データ量が1000行を越すため、効率よく抽出する 方法を教えてください。     A    B 1 バナナ  みかん 2 りんご  バナナ 3 バナナ  バナナ 4 いちご  みかん 5 バナナ  いちご

  • Excelについて

    Excelに下記のようなデータが入っているのですが A列   |   B列 りんご |     2 みかん | 3 ばなな | 1 りんご | 6 すいか | 7 かき | 3 みかん | 4 すいか | 8 りんご | 1 *(実際には100件ぐらいのデータが入っています。) A列で同じ「りんご」があれば、同じ行にあるB列の値を合計したいのでがどうすればよいですか? また「りんご」だけでなく他にもあればその値を合計して出したいのですが。 例えば、今回の例では「りんご」が三箇所あるので「2+6+1]で9と表示したいのですが。 イメージとしては、 A列  |   B列 |   C列   |  D列 りんご |    2  |    りんご |  9 みかん |    3  |    みかん | 7 ばなな | 1  |    ばなな | 1 りんご | 6  |    すいか | 15 すいか | 7  |    かき | 3 かき | 3 | みかん | 4 | すいか | 8 | りんご | 1 | というようにしたいです。どなたか教えてください。

  • お願いします!エクセルで問題発生!

    excelで困っています。 A      B        りんご   私は りんご すきです  ばなな   私は ばなな  すきです みかん  私は みかん すきです 私は<A行> 好きです というように、BにA行の文字列を入れるにはどうすればよいでしょうか? よろしくおねがいします・・・

  • エクセルのセル内の重複文字列処理について

    よろしくお願いいたします。 セル内にスペースで区切られた文字列(単語)があり、文字列の数は不確定です。 その文字列の中で重複する文字列があり、それらを1つにまとめたいという要望です。 セルの行数は約6000ほどあります。 例 A1セル:リンゴ リンゴ みかん B1セル:リンゴ みかん A2セル:みかん バナナ みかん バナナ みかん B2セル:みかん バナナ ・・・ よろしくお願いいたします。 Windows7 HomePremium Office2010

  • 表から条件で抽出して別の表を作る

    いつもお世話になっています。またわからなくなってしまいまして、わかる方がいましたらよろしくお願いいたします。 下記のような表で、例えばB列が『A商店』のデータを抽出して、別の表としてE列以降に新しい表を作るようなことは可能でしょうか? =====  A    B   C D E    F   G りんご A商店 2個  りんご A商店 2個 バナナ A商店 3個  バナナ A商店 3個 りんご B商店 5個  バナナ A商店 5個 みかん C商店 3個  みかん A商店 1個 バナナ A商店 5個 みかん A商店 1個 バナナ C商店 3個 ===== よろしくお願いいたします。

  • エクセル詳しい方おしえてください

    ABC列にデータを入力して全ての列に入っているデータのみ抽出するにはどうしたらいいですか 例 A B C りんご みかん りんご みかん バナナ みかん バナナ →この場合抽出結果をみかん としたいです 列の表示がずれますがなんとなくでみてくださいm(_ _)m よろしくおねがいします

  • Excelで複数条件を満たし残高を計算する関数

       A列     B列  C列     D列     E列  F列    日付     No. 商品名  仕入/販売  金額 残高 1  2010/12/1  101  りんご   仕入  ¥1,000    ¥- 2  2010/12/2  101  りんご   販売  ¥1,000    ¥- 3  2010/12/3  122  みかん   仕入  ¥1,200    ¥400 4  2010/12/4  122  みかん   販売  ¥800     ¥- 5  2010/12/5  135  バナナ   仕入  ¥1,300    ¥800 6  2010/12/6  135  バナナ   仕入  ¥300     ¥- 7  2010/12/7  135  バナナ   販売  ¥800     ¥- 8  2010/12/8  148  ぶどう   仕入  ¥2,000    ¥- 9  2010/12/9  148  ぶどう   販売  ¥1,500    ¥- 10 2010/12/10  148  ぶどう   販売   ¥500 ¥- 上記のようなEXCELの表があります。 B列No.(第一条件)、C列商品名(第二条件)が一致するものを 仕入から販売を引いてF列のような数字になるように残高を出したいです。 どんな関数でも構いません。 関数でできる方法があれば教えてください。 実際のデータ量が2000行くらいあるので手作業でするのが大変で…。 よろしくお願いしますm(_ _)m OS:WindowsXP Office:2007

  • エクセル 複数列からの抽出

    表題の質問をさせていただきます。 以下の表があります。 りんご --- --- --- --- りんご --- --- みかん --- バナナ --- --- --- --- バナナ バナナ --- みかん --- りんご・みかん等はVLOOKUPで表示されており、「---」部も、ここでの質問上 便宜的に「---」としていますが 実際にはVLOOKUP関数が入っていてエクセル上では 見た目は空白になっています。 さて、質問なのですが、上記表から文字が入っている部分のみを抜き出して以下のようにしたいのです。 抜き出し先は同一シート内でも別シートでもかまいません。 りんご りんご バナナ バナナ みかん     みかん バナナ 実際の表は30列・80行前後でして、現在は各列毎にオートフィルタの空白以外のセルで選択してコピペを列数分だけ繰り返しています。 関数やVBAで効率よく選択することが出来ますでしょうか。 エクセル2003です。よろしくお願いいたします。

専門家に質問してみよう