- ベストアンサー
エクセル関数について
V-Lookupでの質問です。 どなたか教えてください。 ある数値だけをオートフィルで抽出しました。 その数値のみを範囲指定して検索したいのですが、隠れてる数値も検索範囲に入ってしまいます。 どうしたらよいでしょうか。どうぞ宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
具体的なセル位置が判らないのであくまで【例】になりますが、 例えば、B2:D99の範囲について、B列を検索してD列の値を返す場合。 ※普通にVLOOKUPを使う場合に =VLOOKUP(検索値,B2:D99,3,FALSE) のようにする場合。 ------------------------------------------ ●A案 : 作業列を使う あらかじめ(オートフィルタをかける前に) 適当な列(仮にE列とします)を作業列とし、 E2セルを =IF(SUBTOTAL(9,B2),B2,"") として下方にフィルしておきます。 その上で、結果を返すセルを =INDEX(D2:D99,MATCH(検索値,E2:E99,0)) あるいは =INDEX(B2:D99,MATCH(検索値,E2:E99,0),3) のようにすれば、オートフィルタで抽出した際に 【表示されている行のうち、B列が[検索値]である行のD列の値】が返ります。 ------------------------------------------ ●B案 : 数式一発で お奨めはしませんが、作業列を使わず数式一発で返す方法もなくはないです。 結果を返すセルを =INDEX(D2:D99,MATCH(検索値&"",INDEX(LEFT(B2:B99,LEN(B2:B99)*SUBTOTAL(3,OFFSET(B1,ROW(B2:B99)-ROW(B1),0))),),0)) とすれば、A案と同様の結果が返ります。 ただしかなり重いので、複数の行を埋めるような運用には向きません。 以上ご参考まで。
その他の回答 (1)
- nattocurry
- ベストアンサー率31% (587/1853)
> ある数値だけをオートフィルで抽出しました。 オートフィルじゃなくて、オートフィルタの書き間違い、ってことで良いですよね? 範囲指定したあと、コピーして、違う場所(違うシート)にペーストすれば、抽出したところだけペーストしてくれる(隠れているところはペーストしない)ので、そこで検索をするというのはどうでしょうか?
お礼
>nattocurryさん お礼が遅くなって申し訳ありません、ありがとうございました。 そうですね、「タ」抜けてしまいました。 しかも朝電車でバタバタしながら携帯から質問したのですが、意味も伝わりにくく申し訳ありませんでした。 今回、1000程のデータの中からオートフィルタである条件のデータのみ抽出しました。 抽出された200ほどのデータを使って別シートの一覧表と照合したかったのです。 フィルタで抽出した部分のみ別シートにコピー&ペーストすれば そのデータのみがペーストされるのはわかっていたのですが、 フィルタをかけたシートで、抽出した状態のままで別シートと照合することができるのか?方法があればぜひアドバイスいただければと思いました。 お忙しい中、ありがとうございました。
お礼
>_Kyleさん 動画までつけていただき本当にありがとうございます。 質問内容が上手に伝えられなく申し訳なかったのですが、 私の悩んでいた回答をいただけて本当に助かりました。 ぜひ参考にさせていただきます。 ありがとうございました。