2016-06-30 22 views
1

したがって、私はバルクでの購入に関する2つのデータセットに異なる合計を与えます。例を挙げると:それは180よりも200を購入するほうが安いので、180を購入すれば180を購入するのは決して意味がないでしょう。2行の間の最小オーバーラップを見つける

だから、データセット2のどこで最大値それはデータセット1

**Data set 1**    **Data set 2**    result 
            (starts at 200)   
    Quantity Price Total  Quantity Price Total  customer need best value  
    10  18.48 181          10    10 
    195  18.48 3603   288  12.48 3594  195    288 
    196  18.48 3622   289  12.48 3606  196    290 
    197  18.48 3641   290  12.48 3619  197    291 
    198  18.48 3659   291  12.48 3632  198    291    
    199  18.48 3677   292  12.48 3664  199    293    
    200  18.48 3696   293  12.48 3657  200    293 

未満である最高値式は何でしょうか? IF(C1> F1:F7、MAX(F1:F7)、C1:C1> F1 F7)OR

ここグラフ

enter image description here

enter image description here

+0

完全なVBAソリューションまたはセルに入れる数式をお探しですか?理想的には数式。 –

+0

。 VBAは視覚的に含めるために受け入れられる回答 – tjcinnamon

+0

になります。 2つの斜面の違いを比較するのと同じです – tjcinnamon

答えて

1

MaxSumIf

あります

更新日:

=IF(C2>$F$2,MAX(IF($F$2:$F$7<C2,$D$2:$D$7,0)),A2) 

更新(Fが昇順でない場合):

=IF(SUM(IF(C2>$F$2:$F$7,1,0))>0,MAX(IF($F$2:$F$7<C2,$D$2:$D$7,0)),A2) 
+1

最初の数式には小さな間違いがありました。上記の答えは、より単純で正確でなければなりません。 – bwyn

+0

私はC2がF2:F7(F:F)の全体と比較されるべきだと思います。なぜなら、2つの線は異なる勾配を持つからです。だから、198と199のようないくつかのケースでは、彼らは同じ価値を得る。私はブレークポイントで比較を使用していますが、それが近くに表示されますが、そのポイントから遠く離れていくと、値の差は大きくなります – tjcinnamon

+0

元々C2を列Fと比較しましたが、 – bwyn

0

私はVLOOKUPとインデックス/マッチの組み合わせを使用して終了。 Vlookupは次の最も近い価格を見つけ、数量を得るためにインデックス/マッチを使用しました。

INDEX(D$1:D$7, MATCH(VLOOKUP(C1,F$3:F$401,1,TRUE), F$3:F$401,0)) 

値が小さい場合は、データセット2から購入する回数を2つ取得します。価格が見つからなかった場合はNAを取得するため、NAを使用して結果を取得します。

=IFNA(INDEX(D$1:D$7, MATCH(VLOOKUP(C1,F$3:F$401,1,TRUE), F$3:F$401,0)), A1) 
関連する問題