Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Формулы из Excel в PHP
 
 автор: Shadowform   (09.11.2007 в 11:44)   письмо автору
 
 

Народ помогите,не могу реализовать выходные формулы в php из след EXEL файла.
уже три часа голову ломаю

   
 
 автор: mihdan   (09.11.2007 в 12:03)   письмо автору
 
   для: Shadowform   (09.11.2007 в 11:44)
 

Не понял а где там формулы то? А вообще -то поищите в гугле excelparser

   
 
 автор: kasmanaft   (09.11.2007 в 12:10)   письмо автору
 
   для: Shadowform   (09.11.2007 в 11:44)
 

А че их там реализовывать? copy+paste, заменить имена ячеек именами переменных (заранее присвоить переменным значения) и всего делов... Разве нет?

   
 
 автор: elenaki   (09.11.2007 в 12:25)   письмо автору
 
   для: kasmanaft   (09.11.2007 в 12:10)
 

я вот так рассчитывала. но мне дали Excel вообще без формул. вернее, там была ОДНА,
встроенная, формула, которая к тому же с ошибкой считала. перерыла весь интернет,
даже муж-банкир не мог мне эту загадочную формулу расшифровать. у вас проще - все
расчеты видны. надо только правильно организовать процесс.



<SCRIPT LANGUAGE="JavaScript">
function calc1(form) {
kefalaio = parseFloat(form.kefalaio.value);
epitokio = parseFloat(form.epitokio.value);
diarkia =  parseFloat(form.diarkia.value);

min_epitokio = epitokio/12/100;
diarkia_mines = diarkia*12;

//for (i=1; i<)

//min_dosi = kefalaio*min_epitokio/Math.pow((1+min_epitokio),(diarkia_mines-1))
//min_dosi = Math.pow(4,2);
//min_dosi = (kefalaio*min_epitokio*(diarkia*12))/12;

oap = min_epitokio + min_epitokio/(Math.pow((1+min_epitokio), (diarkia_mines))-1)

min_dosi = Math.round(kefalaio*oap*100,2)/100;
form.min_dosi.value = min_dosi;

sin_tokos = Math.round((min_dosi*(diarkia_mines) - kefalaio)*100)/100;
form.sin_tokos.value = sin_tokos;

}
</script>

<body>
<form>
<table class="text">
<tr>
   <td>сумма кредита:</td>
   <td><input type="text" size="6" maxlength="7" name="kefalaio"><b>&euro;</b></td>
</tr><tr>
    <td>годовая ставка:</td>
    <td><input type="text" size="2" maxlength="4" name="epitokio">&nbsp;<b>%</b></td>
</tr><tr>
    <td>срок кредита:</td>
    <td><input type="text" size="2" maxlength="4" name="diarkia">&nbsp;<b>лет</b></td>
</tr><tr>
    <td height="2" bgcolor=#909090 colspan="2"></td>
</tr><tr>
    <td align="center" colspan="2"><input type="button" name="calc" value="расчет " onClick="calc1(this.form)"></td>
</tr><tr>    
    <td>месячный взнос:</td>
    <td><input type="text" size="6" maxlength="7" name="min_dosi">&nbsp;<b>&euro;</b></td>
</tr><tr>
    <td>сумма процентов:</td>
    <td><input type="text" size="6" maxlength="7" name="sin_tokos">&nbsp;<b>&euro;</b></td>
</tr>
</table>
</form>

   
 
 автор: Shadowform   (09.11.2007 в 12:34)   письмо автору
 
   для: elenaki   (09.11.2007 в 12:25)
 

To Elenaki:
А можешь еще нижние три помочь сделать?

   
 
 автор: elenaki   (09.11.2007 в 12:38)   письмо автору
 
   для: Shadowform   (09.11.2007 в 12:34)
 

прямо сейчас не могу. вот до дома доберусь...

   
 
 автор: Shadowform   (09.11.2007 в 14:23)   письмо автору
 
   для: elenaki   (09.11.2007 в 12:38)
 

Ок) буду ждать) МНе главное выходные формулы в четырех ипотеках и вот ты дала пример там не все формулы=)самая первая еще которая большая=)

   
 
 автор: Shadowform   (11.11.2007 в 07:56)   письмо автору
 
   для: Shadowform   (09.11.2007 в 14:23)
 

Народ помогите сделать выходные формулы!
Не могу и все.Там со степенью что то. вроде бы bcpow(x,y)
Но че то не то!

   
 
 автор: cheops   (11.11.2007 в 13:29)   письмо автору
 
   для: Shadowform   (11.11.2007 в 07:56)
 

Формула в какой ячейчке находится (что-то найти не могу)?

   
 
 автор: Shadowform   (12.11.2007 в 04:25)   письмо автору
 
   для: Shadowform   (09.11.2007 в 11:44)
 

ТАм четыре типа ипотеки.В каждом методе входные и рядом выходные данные.При нажатии на ячейку там вверху формула f(x)=
ВОт мне надо для всех перевести в php.
Помогите мучаюсь.Никак

   
 
 автор: sim5   (12.11.2007 в 05:39)   письмо автору
 
   для: Shadowform   (12.11.2007 в 04:25)
 

G12=(G6*((G10/12)/(1-(1+(G10/12))^(-(D12*12)))))
G12, G6, G10,... - это имена ячеек, это знаю ), а вот какое мат. действие в Excel означает ^ нет, это что корень?

   
 
 автор: Shadowform   (12.11.2007 в 05:43)   письмо автору
 
   для: sim5   (12.11.2007 в 05:39)
 

Да это степень.Я проверял в Excel

   
 
 автор: sim5   (12.11.2007 в 05:57)   письмо автору
 
   для: Shadowform   (12.11.2007 в 05:43)
 

Ну значит у вас задача не столько как первести формулы в РНР, а как получить значения ячеек. Саму формулу написать труда то не составит.

PS. Степень и корень это разные вещи.))

   
 
 автор: Shadowform   (12.11.2007 в 06:02)   письмо автору
 
   для: sim5   (12.11.2007 в 05:57)
 

Затупил.Степень.ВОт я и не могу перевести.У меня отличные значения получаються.В Excel одно а в реализации другое.

   
 
 автор: sim5   (12.11.2007 в 06:09)   письмо автору
 
   для: Shadowform   (12.11.2007 в 06:02)
 

В смысле формулу вы записываете, значения получаете верные, а результат не тот? А как вы записываете формулу в РНР, например, эту приведенную?

   
 
 автор: Shadowform   (12.11.2007 в 06:23)   письмо автору
 
   для: sim5   (12.11.2007 в 06:09)
 

Да пробывал куча способов.Секунду.
Самое первое:Максимальная сумма кредита:
1)//$max=(($min-(3000+1500)*($number-1))*0.8))* bcpow(((1-(1+($procent/12)))),(-($year*12))))/($procent/12);
2)$max1=($min-(3000+1500*($number-1)))*0.8;
$max2=1-bcpow((1+($procent/12)),(-($year*12)));
$max=($max1*$max2)/($procent/12);

   
 
 автор: sim5   (12.11.2007 в 06:37)   письмо автору
 
   для: Shadowform   (12.11.2007 в 06:23)
 

Все что касается бухгалтерии меня приводит в ужас :) Например, из таблицы:
G10 = 14%, тогда что это означает:
1-(1+(14% / 12))
А что касается вот этой части:
($number-1))*0.8))* bcpow(((1-(1+($procent/12))))
то почему *bcpow ? В формуле ведь так:
предшествующее выражение в степени равной (-(D12*12)) ? Или я не верно понимаю "криптографию" Excel ? )

PS. Я вот про эту говорю G12=(G6*((G10/12)/(1-(1+(G10/12))^(-(D12*12)))))

   
 
 автор: Shadowform   (12.11.2007 в 06:40)   письмо автору
 
   для: sim5   (12.11.2007 в 06:37)
 

14%=0.14 я брал.
ДА я уже запутался.Попробуй свой вариант.И сравни=)

   
 
 автор: Shadowform   (12.11.2007 в 12:32)   письмо автору
 
   для: Shadowform   (12.11.2007 в 06:40)
 

Sim ну что там?

   
 
 автор: sim5   (12.11.2007 в 12:51)   письмо автору
 
   для: Shadowform   (12.11.2007 в 06:40)
 

Знать бы с чем сравнивать:) Может быть где-то ранее не верен расчет?
$G12 = $G6 * (($G10 / 12) / ( 1 - bcpow(1 + $G10 / 12, -($D12*12))));
Получается 31558.66, а должно, если в таблице верно, 42000, т.е. нужно умножить $G6 на 0.0155 примерно, а множитель получается 0.0116666666667.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования