Excel - 他の数式と異なる一致値を返すにはどうすればいいですか?

Excel - 他の数式と異なる一致値を返すにはどうすればいいですか?

次の表と結果の数式があります。 ここに画像の説明を入力してください

まず、営業担当者と販売数を把握します。

次に、列 D と列 E で、最も優秀な営業担当者が誰であるかを知りたいのです。

E2 の式は=LARGE($B$2:$B$11,$D2)下方向に記入されます。

次に、最も優秀な営業担当者の名前を知りたいです。F2 の数式は=INDEX($A$2:$A$11,MATCH($E2,$B$2:$B$11,0))下方向に入力されます。

問題は、Bob と Jeff、および Sue と Carl に対して、25 と 15 がそれぞれ 2 回表示されることです。しかし、列 F では、Match は最初の一致に対してのみ返されるため、Bob と Sue が 2 回表示されます。Bob と Jeff をリストするには 25 が必要で、Sue と Carl をリストするには 15 が必要です。

私がやろうとしていた方法は、E の値が何回出現するかを確認することです。複数回出現する場合は、その値のどのインスタンスがセルの隣であるかを調べ、名前の一致からその値を見つけます。したがって、2 つの値を持つ 25 の場合、F4 は E の最初の 25 のそばにあるため Bob を返し、F5 は 2 番目の 25 のそばにあるため Jeff を返します。

簡単に聞こえますが、それを実用的な数式に組み込むことができませんでした。F で単一の数式を使用して、目的の結果を得ようとしています。

答え1

AGGREGATE を SMALL 関数として使用して、INDEX に正しい行を返します。

=INDEX(A:A,AGGREGATE(15,6,ROW($B$2:$B$11)/($B$2:$B$11=$E2),COUNTIFS($E$2:$E2,$E2)))

は、COUNTIFS($E$2:$E2,$E2)番号の最初のインスタンスに対して 1 を返し、2 番目のインスタンスに対して 2 を返すため、AGGREGATE は最初の名前、次に 2 番目の名前を返すように強制されます。

答え2

私の小さな試み:

=IF(F1<>F2,INDEX($B$2:$B$13,MATCH(F2,$C$2:$C$13,0)),INDEX(OFFSET($B$2:$B$13,MATCH(G1,$B$2:$B$13,0),0,ROWS($B$2:$B$13)),MATCH(F2,OFFSET($B$2:$B$13,MATCH(G1,$B$2:$B$13,0),1,ROWS($B$2:$B$13)),0)

関連情報