Excel:如果列B等于值,则编辑列A.

我在我的Excel文件中有两列。 A列是数值,B列是单位(kg / g)。 我需要将所有值转换为g(如在c列中)。 这是一个例子:

ABC 0.75 kg 750.00 0.80 kg 800.00 700.00 g 700.00 500.00 g 500.00 

我正在看VBA脚本,但因为我没有使用它们,所以我根本无法编辑它们。 有任何想法吗?

如果你不想使用VBA(你不需要,真的),@ tom_preston上面的公式几乎是正确的。

在“C2”中,可以使用公式= IF(B2 =“kg”,A2 * 1000,A1) ,并将其复制到行中。

如果你想用VBA编写,那么上面提到的问题就是放在工作表模块中的代码。

 Private Sub Worksheet_Change(ByVal Target As Range) Dim cellChanged As Range, c As Range Const myVal As String = "kg" Set cellChanged = Intersect(Target, Columns("B")) If Not cellChanged Is Nothing Then For Each c In cellChanged If UCase( c.Value) = UCase(myVal) Then c.Offset(, 1).Value = c.Offset(, -1).Value / 1000 else c.Offset(, 1).Value = vbnullstring End if Next End if End Sub 

如何有助于有一个美好的一天!