是否存在对应于数学求和符号的Excel公式? (不需要的表)没有表格的Excel求和公式 - 等同于数学求和符号
例如:
我想填写X
和n
细胞,使该公式的结果,前述情况在Result
细胞中显示,而无需创建表格。
可能吗?怎么样?
是否存在对应于数学求和符号的Excel公式? (不需要的表)没有表格的Excel求和公式 - 等同于数学求和符号
例如:
我想填写X
和n
细胞,使该公式的结果,前述情况在Result
细胞中显示,而无需创建表格。
可能吗?怎么样?
您可以使用SUMPRODUCT
这一点。
假设X
是在细胞B1和n
是在细胞B2:
=SUMPRODUCT((B1+1)^ROW(INDIRECT("1:"&B2)))
ROW(INDIRECT("1:"&B2))
返回的数字1和n
之间的阵列,其SUMPRODUCT
求和之前提高每个X+1
通过。
输出
您的解决方案对于特定示例非常有用(+1)。但我认为它不适用于数学总和的所有情况。这就是我选择加里的答案的原因。谢谢。 – viniciussss 2014-11-05 20:23:48
了解。他的确更清晰! ROW函数使得我的公式变得丑陋,但我会对'SUMPRODUCT'不能使用的求和示例感兴趣。 – 2014-11-05 20:31:05
我在想i的增量不是i = i + 1而是其他函数。例如:http://math.stackexchange.com/questions/348571/summation-skip-notation – viniciussss 2014-11-05 20:39:52
使用以下用户定义函数
Public Function vini(x As Long, N As Long)
Dim i As Long
For i = 1 To N
vini = vini + (x + 1)^i
Next i
End Function
用户定义函数(UDF)是非常容易安装和使用:
如果保存工作簿,UDF将随之保存。 如果您正在使用一个版本的Excel更高然后2003,你必须保存 该文件作为.XLSM而非的.xlsx
要删除UDF:
从Excel使用UDF:
= VINI(A1,A2)
要了解更多关于一般的宏,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
以及有关UDF的细节,请参见:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
必须启用宏才能使其工作!
对于示例:
真棒,但有没有什么办法指定函数也作为第三个参数?与函数我的意思是summand – 2017-10-21 17:24:44
@RicardoZorio作为第三个参数传递一个工作表函数id是非常容易的。 – 2017-10-21 18:28:30
OK,我做了一些研究,发现如何解析表达式做的总和。这是基于加里的学生的回答,所以请按照他的指示,只更改代码。所有的荣誉给他。顺便说一句,我知道这应该是他的回答中的评论,但代码在评论中看起来很可怕。
功能:
Public Function summation(lower As Long, upper As Long, summand As String)
Dim i As Long
Dim total As Long
Dim original As String
Dim temporal As String
total = 0
For i = lower To upper
temporal = Replace(summand, "i", i)
total = total + Evaluate(temporal)
Next i
summation = total
End Function
用法:
=summation(lower bound, upper bound, summand)
实施例:
输入:
table {
font-family: consolas, sans-serif;
border-collapse: collapse;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
tr:nth-child(even) {
background-color: #dddddd;
}
<table>
<tr>
<th></th>
<th>D</th>
<th>E</th>
<th>F</th>
<th>G</th>
</tr>
<tr>
<td><b>1</b></td>
<td>from</td>
<td>to</td>
<td>summand</td>
<td>result</td>
</tr>
<tr>
<td><b>2</b></td>
<td>1</td>
<td>8</td>
<td>(10+1)^i</td>
<td>=summation(D2,E2,F2)</td>
</tr>
</table>
输出:
table {
font-family: consolas, sans-serif;
border-collapse: collapse;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
tr:nth-child(even) {
background-color: #dddddd;
}
<table>
<tr>
<th>C</th>
<th>D</th>
<th>E</th>
<th>F</th>
<th>G</th>
</tr>
<tr>
<td><b>1</b></td>
<td>from</td>
<td>to</td>
<td>summand</td>
<td>result</td>
</tr>
<tr>
<td><b>2</b></td>
<td>1</td>
<td>8</td>
<td>(10+1)^i</td>
<td>235794768</td>
</tr>
</table>
如果需要参数的值使用字符串
table {
font-family: consolas, sans-serif;
border-collapse: collapse;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
tr:nth-child(even) {
background-color: #dddddd;
}
<table>
<tr>
<th>C</th>
<th>D</th>
<th>E</th>
<th>F</th>
<th>G</th>
</tr>
<tr>
<td><b>1</b></td>
<td>from</td>
<td>to</td>
<td>summand</td>
<td>result</td>
</tr>
<tr>
<td><b>2</b></td>
<td>1</td>
<td>8</td>
<td>="(" & D4 & "+1)^i"</td>
<td>=summation(D2,E2,F2)</td>
</tr>
<tr>
<td><b>3</b></td>
<td>10</td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
再次,所有的荣誉加里的学生。
是你试图实现的总和函数还是别的东西? – ZAT 2014-11-05 18:25:56