Страницы: 1
RSS
Создание пользовательской функции
 
Здравствуйте гении эксель!!!  
Хочу создать пользовательскую функцию которая бы считала силу тока. Пишу вот так:  
Function Sila_toka(P, U, cos, kpd)  
Sila_toka = 1000 * P / U / cos / kpd  
End Function  
Только вот в нее два условия надо вставить: 1е - если напряжение 220В то она считается по выше представленной формуле, 2е - если напряжение 380В то еще нужно добавить:           1000 * P / U / cos / kpd / 1,73  
Задача для программиста думаю ну до неприличия простая. А я рву волосы от стыда((( какой нибудь if then наверно вставить куда надо не могу(((  
По обычному то я это все сделал, а щас вот ботаю ВБА и вот призадумался.  
Прилагаю файлик, в нем красненьким обведена задача.
 
Прошу знатоков Экселя иВБА посмотреть на это мое    
Function Sila_toka(P, U, cos, kpd)  
If U = 380 Then  
Sila_toka = 1000 * P / U / cos / kpd / 1.73  
ElseIf U = 220 Then  
Sila_toka = 1000 * P / U / cos / kpd  
End If  
End Function  
 
Вроде даже считает, наверно тему можно и закрыть, какой я молодец)))
 
Можно немного упростить функцию:  
 
Function Sila_toka(P, U, cos, kpd)  
   k = 1: If U = 380 Then k = 1.73  
   Sila_toka = 1000 * P / U / cos / kpd / k  
End Function  
 
 
Или укоротить:  
 
Function Sila_toka(P, U, cos, kpd)  
   Sila_toka = 1000 * P / U / cos / kpd / IIf(U = 380, 1.73, 1)  
End Function
 
спасибо EducatedFool !!!  
ну в принципе ваши 3 строки против моих 7, думаю не все так плохо))) есть к чему стремиться
 
Ну, EducatedFool, конечно как всегда элегантен и лаконичен в решениях, но по поводу самой формулы:    
Sila_toka = 1000 * P / U / cos / kpd я что-то не уверен...  
Может, корректнее было бы записать:    
Sila_toka = 1000 * P / (U * cos * kpd)    
?
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Alex_ST спешу развеять ваши сомнения! Обе формулы имеют право на существование!!! ибо результат один и тот же, разница лишь в количестве знаков(символов) у вас их на два шт. больше))))
 
Собсно, магическое число 1.73 это 380/220, или корень из 3.  
Поэтому формула  
Sila_toka = 1000 * P / U / cos / kpd  
справедлива при любом U, коэф. k не нужен.
 
Справедлива да не совсем. при одно и трех фазной нагрузке значение тока ссчитается по разному.
Страницы: 1
Читают тему
Наверх