我的 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或-!" 万一 结束功能