『FILTER関数とSORTBY関数』(まる) Excel2021導入につき、新関数の勉強をしています。 FILTER関数と、SORTBY関数の使い方についてご指導、お願いします。 【例題】 テーブル1を「年齢>=40」をフィルタリングし、第1ソートキー「年齢降順」、第2ソートキー「ID降順」でソートした結果を得る。 以下の「年齢スピル範囲」、「IDスピル範囲」の指定がわかりません。 ●FILTERしてからSORTBYするケース =SORTBY(FILTER(テーブル1,テーブル1[年齢]>=40),年齢スピル範囲,-1,IDスピル範囲,-1) ●逆にSORTBYしてからFILTERするケース =FILTER(SORTBY(テーブル1,テーブル1[年齢],-1,テーブル1[ID],-1),年齢スピル範囲>=40) テーブル1 ID 名前 年齢 1 AAA 41 2 BBB 20 3 CCC 40 4 DDD 40 5 EEE 50 希望結果 ID 名前 年齢 5 EEE 50 1 AAA 41 4 DDD 40 3 CCC 40 < 使用 アプリ:2021、使用 OS:Windows10 > ---- SORT関数じゃなくてSORTBY関数を使う必要ってあります? =LET(LIST,FILTER(テーブル1,テーブル1[年齢]>=40),SORTBY(LIST,INDEX(LIST,,2))) ↑ 年齢が何列目か とかですかね (´・ω・`) 2022/08/16(火) 23:40 ---- ´・ω・`様、ありがとうございます。 LET関数とINDEX関数を使うことで、希望通りの結果を得ることができました。 「FILTERしてからSORTBY」でも「SORTBYしてからFILTER」でも同じ要領で、できました。(^^♪ >SORT関数じゃなくてSORTBY関数を使う必要ってあります? SORT関数を2回使った方法も試したのですが、安定ソートにならなかったので.... 複数列でソートする場合、SORT関数を複数回使用することで、安定ソートって可能なんでしょうか? (まる) 2022/08/17(水) 00:11 ---- >安定ソートにならなかったので ちょっと試した感じではSORT関数は安定ソートのように思いましたが、そうなんですか? (´・ω・`) 2022/08/17(水) 00:39 ---- あれ? 再度、SORT関数を2回使って、試してみたら希望通りの結果を得ることができました。 寝ぼけてたのかな?申し訳ありません。 ´・ω・`様、お付き合い、どうもありがとうございました。 (まる) 2022/08/17(水) 06:22 ---- ああ、原因がわかりました。自分のミスです。 ソートする優先順位を逆にして、↓のようにしてたみたいです。 =SORT(SORT(FILTER(テーブル1,テーブル1[年齢]>=40),3,-1),1,-1) やっぱり、寝ぼけてたみたいです。 (まる) 2022/08/17(水) 06:30