- ベストアンサー
エクセル表からの取り出し方法
- エクセル表から特定の条件でデータを取り出す方法を紹介します。
- B列のナンバーを基準に、M列にあるテキストを取り出す方法を解説します。
- B列の空白の行やナンバーの下が空白の場合は、取り出しをスキップする方法を説明します。
- みんなの回答 (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 もも
その他の回答 (2)
- msMike
- ベストアンサー率20% (364/1804)
》 行数がめちゃくちゃ多いので… 貴方の「めちゃくちゃ」は、取り敢えず、最大何行と覚悟しておけばよろしいのでしょうか?
補足
ありがとうございます。 大体、2万行程度です。
- aokii
- ベストアンサー率23% (5210/22062)
取り出したいナンバーが16の場合は、以下の式でいかがでしょう。 =VLOOKUP(16,B:M,12,FALSE)
お礼
取り出したい番号がわかってないのです。 それだといらないやつを多分弾けないと思います。。 しかしながら、ご回答どうもありがとうございました。
お礼
気に食わないなんてとんでもない。 本当にリスペクトです。 すばらしいスクリプトどうもありがとうございました。 一瞬でカタがついてしまい、今日は残業しなくて済みそうです。 ありがとうございました。