全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 Excel
5215 5
2012-05-01
我要算一个3年的增长率原始公式是 PE croissance = (PE ratio / PE moyenne -1)^(1/3)

每次一运行就显示wsPEtx.Cells(i + 2, j + 1).Value = (wsPE.Cells(i + 2, j + 1).Value / wsPEm.Cells(i + 2, j + 1).Value - 1)^ (1 / 3)是无效的过程调用或参数
如果把^ (1 / 3)去掉,或者换成^ 2, 程序就可以运行
数据里面含有负数,但是负数也是可以开三次方根号的呀
实在不知道哪里出问题了,麻烦大家帮我看看
谢谢了!
这是我写的code

Option Explicit
Option Base 1
Sub CalTaux()


Dim wsPE As Worksheet, wsPEm, wsPEtx As Worksheet

Dim L As Integer, C As Integer, i As Integer, j As Integer



Set wsPE = ThisWorkbook.Worksheets("PE ratio")
Set wsPEm = ThisWorkbook.Worksheets("PE moyenne")
Set wsPEtx = ThisWorkbook.Worksheets("PE croissance")

For j = 1 To 10

For i = 1 To 10


  If wsPEm.Cells(i + 2, j + 1).Value = 0 Then
  wsPEtx.Cells(i + 2, j + 1).Value = 0
  Else: wsPEtx.Cells(i + 2, j + 1).Value = (wsPE.Cells(i + 2, j + 1).Value / wsPEm.Cells(i + 2, j + 1).Value - 1) ^ (1 / 3)
  End If


  Next i

Next j

End Sub



附件列表
未命名.bmp

原图尺寸 1.09 MB

code

code

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-5-1 19:54:50
Option Explicit
Option Base 1
Sub CalTaux()


Dim wsPE As Worksheet, wsPEm, wsPEtx As Worksheet

Dim L As Integer, C As Integer, i As Integer, j As Integer



Set wsPE = ThisWorkbook.Worksheets("PE ratio")
Set wsPEm = ThisWorkbook.Worksheets("PE moyenne")
Set wsPEtx = ThisWorkbook.Worksheets("PE croissance")

For j = 1 To 10

For i = 1 To 10
   
  
  If wsPEm.Cells(i + 2, j + 1).Value = 0 Then
  wsPEtx.Cells(i + 2, j + 1).Value = 0
  Else: wsPEtx.Cells(i + 2, j + 1).Value = (wsPE.Cells(i + 2, j + 1).Value / wsPEm.Cells(i + 2, j + 1).Value - 1) ^ (1 / 3)
  End If


  Next i
   
Next j

End Sub
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-1 20:00:32
利用Exp和Log,比如对数值A开3次根号,可以这样写:
Answer = Exp(1/3*Log(A))
当然, 运算之前要先检查A是否为正数。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-1 20:04:32
Quasy 发表于 2012-5-1 20:00
利用Exp和Log,比如对数值A开3次根号,可以这样写:
Answer = Exp(1/3*Log(A))
当然, 运算之前要先检查A ...
数据里面有负数,应该不能用LOG吧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-1 20:15:04
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-1 20:29:45
vivianeshen 发表于 2012-5-1 20:04
数据里面有负数,应该不能用LOG吧
是负数就先*(-1),计算完成后再*(-1)。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群