请问在excel中公式怎么互相引用?

比如说我在A1填入“2”. 在B1填入“=A1*2” 那么B1会自动变成4
我想问的是在实现上述功能的同时,如何实现我在B1填入6, 然后A1自动变成3。
这只是两个单元格联动。我希望5000多个这样的单元格联动?
请问高人如何实现?
循环引用我是知道的。所以我才问在excel里面怎么能实现?

请先想想
B1中的公式:=A1*2
A1中再来公式:=B1/2
那么你觉得EXCEL是先算B1好,还是先算A1好?你的数字往哪儿填?
这就是EXCEL应用中的【循环引用错误】!不可以这样做的!
所以,你的要求用函数是不可能实现的
只能通过VBA宏代码

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <= 2 Then
If Target * 2 = Target.Offset(0, IIf(Target.Column = 1, 1, -1)) Then Exit Sub
Target.Offset(0, IIf(Target.Column = 1, 1, -1)) = Target * IIf(Target.Column = 1, 2, 0.5)
End If
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-26
这样试试。在a1输入:
=if(b1="","",b1/2)
在b1输入:
=if(a1="","",a1*2)
虽然也会报循环引用。但是,由于在2个单元格均为空的情况下返回的都是空。用wps最新版可以实现。不知道excel怎么样。
第2个回答  2013-02-27
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(0, 1).Value = Target.Text * 2
ElseIf Target.Column = 2 Then
Target.Offset(0, -1).Value = Target.Text * 0.5
End If
End Sub
第3个回答  2013-02-26
如果在A和B列中这样循环联动是不可以。
不过你可以在A列输入数字,分别的B列和C列做你所需的两个公式,即:
在B1填入“=A1*2”
在C1填入“=A1/2”
第4个回答  2013-02-26
输公式就可以了,但是会出现一个联动双箭头,当在a1输入2,b1显示6,箭头会消失,反之也一样
第5个回答  2013-02-26
那就是循环了!
相似回答