【发布时间】:2017-06-29 07:05:33
【问题描述】:
我有一个带有三个值(打开、关闭、待处理)的下拉列表的单元格。我想制定一个公式,以确保在报告问题时打开状态更改。使用此公式=if("e2<>0,"open","") 可以毫无问题地工作,但我不想使用下拉列表更改单元格的值,所以我需要类似=if("e2<>0,i2="open","") 的东西。
有没有办法在不使用 vba 的情况下做到这一点?如果我想实时更新,我怎么能用 vba 做到这一点?当我将任何数据放入 e2 时,i2 应该是打开的,无需重新打开文件。
【问题讨论】:
-
您不想将公式直接插入到要更改的单元格中的任何特殊原因(在本例中为
I2)? -
因为是一个包含三个值的下拉列表(打开关闭待处理),我希望使用该表的任何人都可以更改它。我现在想这样做的唯一原因是因为人们忘记输入“打开”状态,并且已经制作了一个过滤器来显示仍然打开或待处理的每个问题,所以如果人们忘记将是一个问题。如果我将公式放在同一个单元格中,下拉列表会丢失,或者它是一种方法,所以使用它的人只能看到下拉列表并且公式也到位?谢谢
-
=IF(AND(E20,I2="open"),"","") 像这样?
-
虽然我理解你的意思,但这不会损害数据的正确性吗?假设用户想要将单元格的值更改为“待处理”并且您有该代码,它将很快将其更改为“打开”,从而损害整个数据。您不应该允许用户更改应该自动更改的内容。如果你想确保数据被插入并且你知道它应该是哪个数据,只需将公式放在单元格中并锁定它,这样用户就不会弄乱它
-
是的,但如果我知道如何做到这一点,如果我稍后提出更多条件,例如如果 e2 中有数据并且 i2 没有关闭或待处理打开(至少我希望管理不善:D ) PS: 打算试试那个 thx ricky
标签: vba if-statement formula