[[20250623195006]] 『エクセルのフィルターについて』(ペヤング) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『エクセルのフィルターについて』(ペヤング)

いつもお世話になります。

有識者の方ご教授願います。
例としてA001・B001・C001、3つの検索キーを元に、それぞれフィルター検索した結果を別シートへ空白セルを含めた全ての値を自動的に転記するような関数はございますか?
xlookup関数を使ってみましたが一つの値しか返すことしかできず、困っております。
今回のように3つの検索キーしかない場合は手動でも問題ありせんが、例えば検索キーが100個くらいあった場合な何か良い方法はございますか?
よろしくお願いします。

A列   B列
A001 りんご
A001
A001 すいか
B001 オレンジ
B001 オレンジ
C001 メロン
C001
C001 キウイ

< 使用 Excel:Microsoft365、使用 OS:Windows10 >


filter と いう 関数がありますが。。。その
こちらを100個用意するのが面倒...と言うお話でしたら何か方法が有るかもしれませんが
vbaも一案です。
m(__)m

(隠居Z) 2025/06/23(月) 20:43:29


 色々な方法があると思います。
 思いつくのは、フィルタオプションの利用です。これなら何個でも対応可能です。
 結果は、それぞれのキー毎にまとまっている必要があるのですか?
 それなら結果をソートする必要はあります。
 また、結果は検索キー毎にシートを分けるのですか?
 そのあたりも明記してください。

(xyz) 2025/06/23(月) 21:22:44


xyz様

ご確認ありがとうございます。
検索キーはC2セル以降に記載されており、結果は、同じシート内にキー毎にまとまっているとありがたいです。
(ペヤング) 2025/06/23(月) 21:49:02


 フィルタオプションの考え方や操作はご自分で調べてください。
 こちらにすべてを作文して説明するのは大変ですし、
 ネット上の記事や書籍のほうが作業手順も図解されていて、あなたにも分かりやすいはずです。
 検索条件範囲には、縦に並べるだけです。10個でも100個でもOR条件なら縦に並べるだけです。

 ソートも同様です。

(xyz) 2025/06/23(月) 23:26:44


 ちょっと酒に酔って良くない回答をしていまったので自分で削除しました
(´・ω・`) 2025/06/24(火) 00:51:01

 C列に検索キーの一覧があるとして
 =FILTER(IF(B:B="","",B:B),COUNTIF(C:C,A:A))

 列全体を対象にすると計算が遅くてしょうがないので、そこは適当に
(´・ω・`) 2025/06/24(火) 08:35:04

 たしかに列の全範囲だと計算が戻ってこないですね。

 ・TrimRangeが使えるかどうか不明ですが、その活用が有効かも
 ・COUNTIFだと最後まで参照しないと答えが得られませんが、
   XMATCHだと見つかったところで切り上げてくれると期待して、
   XMATCHの活用も有効かもしれません。
 ということで、
 =FILTER(TAKE(A:B,ROWS(A.:.A)),IFERROR(XMATCH(A.:.A,C.:.C,0,2),FALSE))&""
 はどうでしょうか。
 (最後の&""は0返りへの対応です)

(xyz) 2025/06/24(火) 11:08:46


xyz様

ご助言頂いたフィルタオプション機能を使って上手くいきました。
ありがとうございます。
また、数式の方も試してみましたが、こちらは思った通りの結果は得られなかったものの
今後の参考にさせて頂きます。

皆様ありがとうございました。
(ペヤング) 2025/06/25(水) 17:48:46


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.