Страницы: 1
RSS
Можно ли рассчитать плотность формулой массива? Или VBA, если нельзя формулой?
 
Здравствуйте! Я не сильна в формулах массива... Буду благодарна помощи с расчетом.  
Я сделала таблицу для расчета номинальной плотности, но она находит плотность только для одного введенного значения. Можно ли составить формулу расчета плотности, чтобы иметь возможность обсчитать несколько значений, не делая для каждого отдельную таблицу расчета? Или только VBA спасет?
 
Формула массива:  
=ИНДЕКС($C$3:$C$37;ПОИСКПОЗ(1;($F$3:$F$37<=J12)*($G$3:$G$37>=J12);))
 
Уважаемый МСН, к сожалению, все не так просто. Данные в таблице "Диапазон плотности при данной температуре" формируются в зависимости от температуры, то есть для каждого значения температуры нужна будет отдельная такая таблица. Именно от этого я и хочу избавиться
 
Кто-то из нас неправильно понял:  
=ИНДЕКС($C$3:$C$37;ПОИСКПОЗ(J12;$F$3:$F$37;1))
 
Во! Была такая крамольная мысль. О температуре. Не нашел я ее в таблице.  
 
Что изменяется при выборе другой величины температуры?
 
vikttur, при изменении температуры (ячейка К4) пересчитается таблица F3:H37. Эту таблицу я и хочу заменить формулой массива, если можно. Сама сейчас пробую еще UDF сочинить.
 
Private Sub Worksheet_Change(ByVal Target As Range)  
If Target.Address = "$K$4" Then  
Application.EnableEvents = False  
 For i = 3 To 37 Step 1  
 Cells(i, 6) = Cells(i, 3) + (20 - Target.Value) * Cells(i, 1)  
 Cells(i, 6) = Cells(i, 4) + (20 - Target.Value) * Cells(i, 1)  
 Next i  
Application.EnableEvents = True  
End If  
Beep  
End Sub
 
Массив с поправками (в точности по Вашей формуле):  
$C$3:$C$37+(20-K12)*$A$3:$A$37  
 
Ищем положение плотности при 20грд:  
ПОИСКПОЗ(J12;$C$3:$C$37;1)  
 
Итого:  
=ИНДЕКС($C$3:$C$37+(20-K12)*$A$3:$A$37;ПОИСКПОЗ(J12;$C$3:$C$37;1))  
 
Оно?
 
Ох, мне уже форумчанин Z справедливо говорил, что я плохо объясняю, чего мне надо. Простите, я попытаюсь еще раз.  
 
1. Есть таблица плотности вещества при 20С и соответствующие температурные поправки (изменение плотности при изменении температуры). Это константы (диапазон A3:D37).  
 
2. Зная температуру и плотность моего вещества, я рассчитываю его минимальную плотность при 20С. Для этого мне нужна таблица F3:H37. Но она рассчитывает значения только для одной пары плотность-температура.    
 
3. У меня таких пар плотность-температура довольно много. И я хочу для каждой пары рассчитать минимальную плотность при 20С, не строя много таблиц.  
 
Может, так будет понятней...
 
vikttur, простите мою тупизну, Вашу формулу нужно вводить как формулу массива или как обычную?
 
3 варианта (два массивных, один обычный)
 
{quote}{login= Катя}{date=27.06.2012 09:52}{thema=}{post}Для этого мне нужна таблица F3:H37. Но она рассчитывает значения только для одной пары плотность-температура...  
У меня таких пар плотность-температура довольно много.{/post}{/quote}  
А почему не приложили остальные таблицы пар плотность-температура?    
Они также расчитываются с учетом попровачных коэфициентов из столбца A или для каждой температуры свои коэффициенты?
 
Задача решена, спасибо Вам большущее!!! С помощью ваших идей я написала по-старинке UDF.  
Буду теперь разбираться с формулами, которые предложил МСН. Они работают, но округляют результат. А мне важны 4 знака после запятой (объем рассчитывается для десятков тонн, нужно снизить погрешность).  
 
Спасибо вам всем, готова всех расцеловать!
 
МСН, Вам персональная огромная благодарность! Разобралась, все отлично работает!  
 
Спасибо, Вы как обычно выручили меня, несмотря на мою тупость.
 
совет Кате:
 
Благодарю, Андерс! Совет дельный, а я-то не могла этот знак отыскать...
Страницы: 1
Читают тему
Наверх