お世話になります。
Excel2013を使用していますが、違うシートにあるリストの文字を抽出する方法について
質問させてください。
Sheet 1 A列2行目~AA列40000行目までデータ
Sheet 2 B列2行目から抽出したい項目が10~30個前後(その都度変わります)
Sheet 1のI列~L列の間にSheet 2のB列にある言葉を含むセルを抽出したいのですが
半角、全角、大文字、小文字が混在していて next i で対応していると
数と量が多くてフリーズや修正に対応しきれず困っています。
なんとか配列などで対応することはできないでしょうか。
(なんとなく配列だと早いイメージがあるのですが、こだわりはありません)
ちなみに抽出したいのはSheet 1のA列、B列、D列と、I列~L列のSheet 2のB列と同じセルの値です。
例えばSheet 1のJ列とSheet 2のB列にある文字が同じなら抽出するならA列、B列、D列、J列
Sheet 1のL列とSheet 2のB列にある文字が同じならA列、B列、D列、L列
どうかアドバイスよろしくお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
シート1のI~L列についてはCOUNTIF関数で有無を調べられるのでは?
シート3のD列についてはシート1のI~L列のどこの値であろうと、検索値はシート2のB列の値なのでしょ?
なのでシート1のI~L列のどこで見つかったとか調べる必要無いように思いますけど。
(背景色や書式でコピペしなきゃいけないなら別ですが、値だけを代入するならと言う事で)
見ていただきありがとうございます。
自分が確認するだけなら良いのですが
リストにして出して欲しいと言われてて...。
実際には入力されている位置(項目名)もsheet3に記載していますが、配列だとこれは無理かなと思い省きました。
Sh3.cells(n,5) = Sh1.cells(1,j)
No.2
- 回答日時:
データが多いので、照合に時間がかかっているのだと思います。
ヒットする数が多い場合は、補足コメントのようにIF文で照合していくのが無難かと思います。
ヒットする数が少ない場合は、FIND文で照合していくのが早いと思います。
質問文の場合、検索対象セルはI2~L40000なので約160000個あります。
例えば、ヒットするのが1個しかない場合は1個ずつIFで調べるよりもFINDで調べるほうが早いです。
一方、ヒットするのが100000個ある場合はIFで調べるほうが早いです。
配列というか、メモリーにデータをとりこんで処理するほうが早いと思いますが、自分の得意ジャンルではないので・・・。
No.1
- 回答日時:
「抽出」というのが実際何をしたいかですが。
。。「移動」なのか「コピー」なのか。
ある範囲内の全セルの内容を「移動」あるいは「コピー」したいのか、ある範囲内にあるセルのうち、ある条件を満たす値を格納したセルの内容を「移動」あるいは「コピー」したいのか。
その辺の「仕様」をご自身でしっかり言葉(文章)にまとめられることです。
その上で、それを自行する具体的手順を箇条書きにまとめられることです。
あと、おやりになりたい事を同一シート内で行うのであればその処理をご自身で実現することは出来ていますか?
出来ておられるのであれば上記の仕様文書の作成は不要で、その処理内容の抽出先のセル指定のところにシート名指定を加えればOK・・・ということになります。
まずはその辺から。(_ _)
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
Excelで半角の文字を含むセルを...
-
「B列が日曜の場合」C列に/...
-
Excel 文字列を結合するときに...
-
エクセルで文字が混じった数字...
-
エクセル(勝手に太字になる)
-
エクセルの項目軸を左寄せにしたい
-
エクセルの関数(日数の平均の...
-
エクセル 時間帯の重複の有無
-
エクセル 同じ値を探して隣の...
-
エクセルの並び変えで、空白セ...
-
【VBA】特定列に文字が入ってい...
-
2つのエクセルのデータを同じよ...
-
エクセルで、列の空欄に隣の列...
-
EXCELで 一桁の数値を二桁に
-
Excelの行、列の左方向シフト、...
-
VBAで文字列を数値に変換したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセル(勝手に太字になる)
-
Excelで半角の文字を含むセルを...
-
エクセル 文字数 多い順 並...
-
2つのエクセルのデータを同じよ...
-
エクセルで文字が混じった数字...
-
文字列に数字を含むセルを調べたい
-
エクセル 時間帯の重複の有無
-
VBAで文字列を数値に変換したい
-
「B列が日曜の場合」C列に/...
-
エクセル 同じ値を探して隣の...
-
エクセルの項目軸を左寄せにしたい
-
エクセルで、列の空欄に隣の列...
-
お店に入るために行列に並んで...
-
Excel、市から登録している住所...
-
エクセルの並び変えで、空白セ...
-
オートフィルターをかけ、#N/A...
-
エクセルの表から正の数、負の...
おすすめ情報
お世話になります。
説明不足ですみません。
やりたいことはsheet3(別シート)に転記をすることです。
質問文にも書きましたが、sheet3に転記をすること自体はできています。
ただ、量が多いので時間がかかるのと、項目が増えた際に都度都度抽出するkeyを追加していくのが大変なので、他の方法がないのかアドバイスをいただきたかったのです。
転記(コピー)の仕方について捕捉です。
Sheet3のA1~D1には項目があり、二行目から下に追加していきたいです。
例えばSheet 1のJ列とSheet 2のB列にある文字が同じならA列、B列、D列、J列をSheet3のA列~D列にコピー
sheet 1のL列とSheet 2のB列にある文字が同じならA列、B列、D列、L列をSheet3のA列~D列にコピー
今はsheet2の文字を毎回抽出キーとして記載しています。
If Sh1.cells(i,j) = "nuts" then
Sh3.cells(n,1) = Sh1.cells(i,1)
Sh3.cells(n,2) = Sh1.cells(i,2)
Sh3.cells(n,3) = Sh1.cells(i,4)
Sh3.cells(n,4) = Sh1.cells(i,j)
End if
見ていただきありがとうございます。
まるきり同じ言葉2列以上あることはありませんが、違う項目が同じ行に含まれていることはあります。そのときはsheet3の行を変えて転記しています。
例 同じ行にnutsとフルーツが含まれている
A B C nuts
A B C ピスタチオ&フルーツ