在excel中编写一个小程序问题!!跪求!!!我不会excel编程!!!

在excel的中,A列有1到25这25个数,在C列中C3是任意输入的一个数,假设C3为50(C3中输入的数一定是在:(A1的平方+A2的平方+A3的平方+。。。。+A25... 在excel的中,A列有1到25这25个数,在C列中C3是任意输入的一个数,假设C3为50(C3中输入的数一定是在:(A1的平方+A2的平方+A3的平方+。。。。+A25的平方)的和的范围内),
我现在想:如果从A1开始,有A1的平方+A2的平方+A3的平方+。。。。+An的平方=C3中的数值,则在C5中显示n的值,注意是n的值,如图所示请问怎么办啊?
展开
 我来答
百度网友af82ee87c
2011-04-17 · TA获得超过5330个赞
知道小有建树答主
回答量:1612
采纳率:0%
帮助的人:1044万
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "C3" Then
N = 0
For I = 1 To 25
N = N + I ^ 2
If N = Target.Value Then [c5].Value = I: Exit For
If N > Target.Value Then [c5].Value = "无合适值!": Exit For
Next
End If
End Sub

kuangben8 21:00:17
但是如果A列不是自然数呢
kuangben8 21:00:27
可能就有小数了

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "C3" Then
N = 0:[c5].Value =""
For I = 1 To 25
N = N + (cells(I,"A").value) ^ 2
If N = Target.Value Then [c5].Value = I: Exit For
If N > Target.Value Then [c5].Value = "接近的值:=" & I : Exit sub
Next
End If
End Sub

精确接近值

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "C3" Then
n = 0: [c5].Value = ""
For i = 1 To 25
n = n + (Cells(i, "A").Value) ^ 2
If n = Target.Value Then [c5].Value = i: Exit For
If n > Target.Value Then
For j = 1 To i - 1
m = m + (Cells(i, "A").Value) ^ 2
Next
[c5].Value = "接近的值:=" & IIf(abs(m - Target.Value) < abs( n - Target.Value), i - 1, i): Exit Sub
End If
Next
End If
End Sub
gto250
2011-04-17 · TA获得超过649个赞
知道小有建树答主
回答量:455
采纳率:33%
帮助的人:171万
展开全部
一下子理解不了意思!能再解释详细一点吗?
如题所说的,C3=50,的确是在(A1的平方+A2的平方+A3的平方+。。。。+A25的平方)的和的范围内,但是和“我现在想:如果从A1开始,有A1的平方+A2的平方+A3的平方+。。。。+An的平方=C3中的数值,则在C5中显示n的值”这句话好像有矛盾,按照我理解的你的意思,从A1开始+到An应该是连续加的,如果,C3=55那么n=5,因为从A1的平方+A2的平方一直加到A5的平方,C3才会是55,所以N=5.
不知道是不是这个意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式