我的 Excel 电子表格中有两列我想互斥。例如 B1 公式:IF(A1 包含“是”,然后 B1 设置为“-”)以及 A1 公式:IF(B1 包含“是”,然后 A1 设置为“-”)
基本上这应该意味着当一个单元格更改为“是”时,它旁边的另一个单元格会自动更改为“-”
当我尝试在 excel 公式生成器中执行此操作时,它说我创建了一个循环公式。有谁知道我能做些什么来完成这项工作?
谢谢
我的 Excel 电子表格中有两列我想互斥。例如 B1 公式:IF(A1 包含“是”,然后 B1 设置为“-”)以及 A1 公式:IF(B1 包含“是”,然后 A1 设置为“-”)
基本上这应该意味着当一个单元格更改为“是”时,它旁边的另一个单元格会自动更改为“-”
当我尝试在 excel 公式生成器中执行此操作时,它说我创建了一个循环公式。有谁知道我能做些什么来完成这项工作?
谢谢
像这样的东西怎么样:
' On cell A1
=IF(B1="Yes","-","Yes")
' On cell B1
=IF(A1="Yes","-","Yes")
不利的一面是,在 A1 被赋予“是”或“-”值之后,它不再具有作为其值的函数。这可能不是问题 - 只需根据需要保留 B1 的功能和设置 A1(B1 将更新,因此您不需要更新它)
不完全是您的要求,但希望有一天它会对某人有所帮助!
这只能在 VBA 中实现。在工作表的模块中复制以下代码(例如Sheet1):
私有 mBlnIsRunning As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
如果 Application.Intersect(Target, Me.Range("A1:B1")) _
什么都没有然后退出子
'防止死循环
If mBlnIsRunning Then Exit Sub
mBlnIsRunning = 真
如果 Target.Address(False, False) = "A1" 那么
Me.Range("B1") = 负值(目标值)
别的
Me.Range("A1") = 负值(目标值)
万一
mBlnIsRunning = 假
结束子
私有函数 Negative(varValue As Variant) As Variant
'根据你的需要改变这个功能
如果 varValue = "yes" 那么
负数=“-”
ElseIf varValue = "-" 那么
否定=“是”
别的
Negative = "请输入yes或-!"
万一
结束功能