在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的值,如图所示请问怎么办啊? 展开
我现在想:如果从A1开始,有A1的平方+A2的平方+A3的平方+。。。。+An的平方=C3中的数值,则在C5中显示n的值,注意是n的值,如图所示请问怎么办啊? 展开
2个回答
展开全部
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
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
展开全部
一下子理解不了意思!能再解释详细一点吗?
如题所说的,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.
不知道是不是这个意思
如题所说的,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.
不知道是不是这个意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询