Страницы: 1
RSS
Интерполяция между числами + нахождение её в столбце
 
Дано число. B5    
 
И два столбца в диапазоне F2:F7 и G2:G7  
 
Требуется сравнить B5 с диапазонами F2:F7, поставить это значение между определёнными ячейками Не больше чтобы было и не меньше.  
и потом находящиееся правее этих ячеек числа интерполировать (в соответсвии с правыми значениями) и выдать для B5 интерполированное число из столбца G.  
 
Допустим если получится что B5 находится  между F4 и F5, тогда интерполяция должна приняться такая:  
 
F4  G4  
 
B5  U(Нужно найти)  
 
F5  G5  
 
Спасибо заранее.
 
{quote}{login=pofig}{date=02.12.2010 08:20}{thema=Интерполяция между числами + нахождение её в столбце}{post}Дано число. B5    
 
И два столбца в диапазоне F2:F7 и G2:G7  
 
Требуется сравнить B5 с диапазонами F2:F7, поставить это значение между определёнными ячейками Не больше чтобы было и не меньше.  
и потом находящиееся правее этих ячеек числа интерполировать (в соответсвии с правыми значениями) и выдать для B5 интерполированное число из столбца G.  
 
Допустим если получится что B5 находится  между F4 и F5, тогда интерполяция должна приняться такая:  
 
F4  G4  
 
B5  U(Нужно найти)  
 
F5  G5  
 
Спасибо заранее.{/post}{/quote}  
а Вам формулой надо или макрос подойдет?  
 
31323..4.5
Спасибо
 
если так все понял :(
Спасибо
 
линейная интерполяция по двум точкам:  
=ПРЕДСКАЗ(E11;ИНДЕКС($G$2:$G$6;ПОИСКПОЗ(E11;$F$2:$F$6)):ИНДЕКС($G$3:$G$7;ПОИСКПОЗ(E11;$F$2:$F$6));ИНДЕКС($F$2:$F$6;ПОИСКПОЗ(E11;$F$2:$F$6)):ИНДЕКС($F$3:$F$7;ПОИСКПОЗ(E11;$F$2:$F$6)))
 
{quote}{login=R Dmitry}{date=02.12.2010 09:05}{thema=}{post}если так все понял :({/post}{/quote}  
неверно так:  
 
Public Function ups(rng As Range, kriteriy As Currency)  
Dim arr(), i&  
arr = rng.Value  
For i = UBound(arr) - 1 To 1 Step -1  
If arr(i, 1) < kriteriy Then Exit For  
Next i  
ups = arr(i, 2) + (arr(i + 1, 2) - arr(i, 2)) / (arr(i + 1, 1) - arr(i, 1)) * (kriteriy - arr(i, 1))  
End Function
Страницы: 1
Читают тему
Loading...