excel 实现循环函数

如何用excle实现计算图中函数,可以用vba... 如何用excle实现计算图中函数
,可以用vba
展开
 我来答
司马刀剑
高粉答主

2018-04-17 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7570万
展开全部

EXCEL函数公式直接操作的是数组,完全可以达到循环的目的,可以理解为是封装了的循环函数,下面举两个例子来说明:

问题1: 条件求和 公式SUMIF,求序号大于3的数据的和。

a. 用函数公式就非常简单在C2单元格输入=SUMIF(A2:A6,">3",B2:B6)就能行到结果42

b. 如果用VBA就复杂多了,代码如下:


set sh = ActivateSheetsum = 0 # 保存求和的结果For i = 2 to 6    If sh.cells(i,1)>3 Then        sum = sum + sh.cells(i,2)    End ifNext i

问题2:条件查找公式VLOOKUP,依次把B列的名字在A列中查找,如果找到就标记为TRUE,如果没有找到就标记为FALSE.

a. 函数就非常简单了,只需要在C2输入公式=IF(ISERROR(VLOOKUP(B2,A:A,1,FALSE)),FALSE,TRUE),然后下拉下C4

b. VBA代码就比较复杂了,如下:

  
set sh = ActivateSheetFor i=2 to 4    isexist = FALSE    For j=2 to 4        If sh.cells(i,2) = sh.cells(j,1) Then            isexist = TRUE        End If    Next j    sh.cells(i,3) = isexistNext i
眯住眼串针
科技发烧友

2018-04-17 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:1.1万
采纳率:58%
帮助的人:3108万
展开全部

S、a的值是什么?权当它们分别在A1、A2单元格

将结果输出到B1

Sub Sum()
S = Range("A1") - 1
a = Range("A2")
For j = 0 To S
   temp = temp + a ^ j / Excel.Application.WorksheetFunction.Fact(j)
Next
Range("B1") = temp
End Sub
追问
怎么在execl里调用呢?
追答
这不是自定义函数。。。
运行代码直接在B1输出结果
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式