Excel 公式根据第三个单元格将一个单元格的值更改为另一个值

Excel 公式根据第三个单元格将一个单元格的值更改为另一个值

为了简单起见,a1 有一个可以改变的值,b1 有一个测试 a1 值的公式。c1 重置为基于 a1 选择的值。

我有一张表格,人们可以输入值。我在 a1 中有一个列表框,他们可以选择“重置”。我希望表格值更改为 0 ,以“清除”表格,以便人们可以输入新值。

我尝试使用单个单元格测试这一点,如上所述。我在 b1 中输入的公式

=if(a1="RESET",(c1=0),c1)

这不会改变 c1 的值,但会将 c1=0 包含到 if then 的测试部分。

问题是我们不允许使用宏或 vb 代码,因为它们存储在哪里,所以我被迫使用公式。

这够清楚了吗?

答案1

公式不能改变另一个目标。你需要两个公式

B1-=IF(A1="RESET",1,0)

C1-=IF(B1>0,"woohoo",0)

如果练习的重点是在 B1 中只有一个公式,因为用户可以更改 C1 来删除该公式,这是不可能的。

答案2

根据您的描述,尚不清楚哪个单元格应该依赖于另一个单元格,但如果我正确理解了要求,那么您想要做的事情如果没有 VBA 或额外的手动步骤就无法完成。

正如 Raystafarian 所述,您不能用一个单元格中的公式来更改另一个单元格。但是,一个单元格也不能同时具有公式和值。如果您在 B1 或 C1 中有一个公式,然后在那里输入一个值,则公式会丢失,因此这只能起作用一次。

您的公式意味着您希望输入进入 C1,因为这是 B1 中显示的内容,并且 A1 会将 B1 中显示的值更改为0A1="RESET" 时的值。如果没有 VBA,我认为最接近您描述的内容应该是这样的:

  • 在 C1 中输入新值,替换之前的值。
  • B1 可能包含:=IF(A1="RESET",0,C1)

这实现了公式描述的内容。B1 将作为表格中的显示位置,并指示需要新值,但该值将进入 C1。

但是,除非 A1 发生变化,否则它将继续包含RESET,因此更改 C1 中的值不会使 B1 显示新值。A1 也需要更改,但此要求会在没有 VBA 或手动干预的情况下创建循环引用。您需要某种东西来检测新值的输入并触发 A1 中的更改。这种类型的操作需要 VBA,或者用户在 B1 中准备好显示新值后对 A1 进行手动更改。

相关内容