如果单元格 B1=1,则删除单元格 A1(excel 2003 公式) - 如何操作?

如果单元格 B1=1,则删除单元格 A1(excel 2003 公式) - 如何操作?

我使用 Excel 2003。

如果单元格 B1=1,则删除单元格 A1,如果单元格 B=0,则不更改。

我怎样才能做到这一点?

例子: http://oi33.tinypic.com/mwsm03.jpg

非常感谢 :)

答案1

您不能使用另一个单元格中的公式删除一个单元格中的值。这种工作需要 VBA。

您可以让工作表更改事件评估 B 列。如果 B 列中的值因用户输入而更改,则可以相应地处理同一行中 A 列中的单元格。例如

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B:B")) Is Nothing Then
        If Target = 1 Then
            Range("A" & Target.Row).Clear
        End If
    End If
End Sub

右键单击工作表标签,选择“查看代码”,然后将上述代码粘贴到代码窗口中。

另一种可能性是创建一个辅助列,该辅助列根据另一列中的值反映 A 列的值。在 A 和 B 之间插入一列,然后在(现在的)B 列中使用类似这样的内容,从 B1 开始

=如果(C1=1,“”,A1)

然后您可以根据需要隐藏 A 列。

答案2

我知道我迟到了,但另一种方法是创建一个新列(假设您有 A 列包含您的数据,B 列包含您的 # 标识符,C 列为您的公式列)。

column A   | Column B | Column C

Banana     |        1 | (empty for now)

Phone      |        0 | (empty for now)

Cheesecake |        3 | (empty for now)

从这里开始,你可以用以下公式计算 C1

=IF(B1=1,"",IF(B1=0,A1,"Value in B not 0 or 1"))

本质上,如果 B1 为 1,它将创建一个空白单元格。如果不是 1,那么它将继续查看它是否为 0。如果是 0,那么它将复制 A1 的内容。如果它不是 0 或 1,您将收到它不是 0 或 1 的消息。您可以在该“catch”中做任何您想做的事情。如果您希望单元格在不是 0 或 1 时保持完全相同,您可以缩短公式以执行类似如果是 1,则“”,否则 A 中的值相同。

答案3

也许这太简单了……在任何空单元格中输入撇号字符 (') 并输入。在 A 列的所有单元格中打开 IF 函数……A1 =IF(B1=0,$J$1,existing_Value/Equation)。其中 $J$1 是带有撇号的单元格。

我一直使用它;它保留了 A 列单元格的完整性。

相关内容