1

次の数式に基づいてセルを検索しようとしています。

= vlookup(large($ A $ 2:$ A $ 10,1)、$ A $ 2:$ C $ 10,3、false)最大値 = vlookup(large($ A $ 2:$ A $ 10,2)、$ A $ 2:$ C $ 10,3、false)2番目に高い値

等々

私の問題は、式 "(large($ A $ 2:$ A $ 10,2)のこの部分に同じであるが、ルックアップ値が異なる2つの値がある場合です。たとえば、系列が次のようになっている場合-

最大10(車)、2(トラック)、2(バン)、4​​(オートバイ)

(Car)、(Motorcycle)、(Truck)、(Van)の代わりに(Car)、(Motorcycle)、(Truck)、(Truck)...を返します。

数式またはvbaを使用してこれを解決する方法を知っている人はいますか?

ありがとう!

4

2 に答える 2

1

...これを行うことを考えることができる唯一の方法(ただし、他の人の解決策を見てみたい)は、追加の「ヘルパー列」を作成することです。

したがって、データが次のようになっているとします。

ColA          ColB             ColC           ColD     
10            [whatever]       Car            [Formula]
2             [whatever]       Truck          [Formula]
2             [whatever]       Van            [Formula]
4             [whatever]       Motorcycle     [Formula]

列Aと列Bの間に新しい列を追加し、次のような数式を入力します

(新規)B2:

=A2 + COUNTIF($A$2:A2,A2)/100

これで、下にドラッグすると、繰り返されるすべての値が0.01ずつ増加し、次のようになります。

ColA        ColB         ColC             ColD           ColE     
10          10.01        [whatever]       Car            [Formula]
2           2.01         [whatever]       Truck          [Formula]
2           2.02         [whatever]       Van            [Formula]
4           4.01         [whatever]       Motorcycle     [Formula]

次に、Vlookup式を更新して、列Aではなく列Bの検索を開始します。

これが理にかなっていることを願っています...

于 2012-11-28T14:58:15.403 に答える
0

列Aでテーブルを降順で並べ替えることはできませんか?次に、Excelの数式は次のようになります。

=vlookup($A2,$A2:$C$10,3,false) 
=vlookup($A3,$A3:$C$10,3,false)
=vlookup($A4,$A4:$C$10,3,false) 

実際、それよりも簡単に、数式は次のようになります。

=$C2
=$C3
于 2012-11-28T15:36:16.560 に答える