这是我的excel示例,我需要在列新成本中获得值。

有人能帮我创造公式吗?
发布于 2018-10-19 09:02:53
假设“产品名称”在A1中,您可以将该公式粘贴到D2中:
=IF(AND(IF(IFERROR(FIND("(";A2;1);0)=0;0;1);OR(IF(IFERROR(FIND("pack";A2;1);0)=0;0;1);
IF(IFERROR(FIND("pck";A2;1);0)=0;0;1);IF(IFERROR(FIND("pcs";A2;1);0)=0;0;1);
IF(IFERROR(FIND("pots";A2;1);0)=0;0;1)));C2;C2*B2)如果“这是新成本”可能在E列中,则将其粘贴到E2中:
=IF(C2=D2;"This is new cost")发布于 2018-10-19 09:32:46
尝试:
Sub Evaluation()
Dim LastRow As Long
Dim i As Long
Dim Result As Integer
LastRow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To LastRow
If Sheet1.Range("A" & i).Value <> "" Then
If (InStr(Sheet1.Range("A" & i).Value, "(") > 0) And (InStr(Sheet1.Range("A" & i).Value, ")") > 0) Then
If (InStr(Sheet1.Range("A" & i).Value, "pck") > 0) Or (InStr(Sheet1.Range("A" & i).Value, "pcs") > 0) Or (InStr(Sheet1.Range("A" & i).Value, "pack") > 0) Or (InStr(Sheet1.Range("A" & i).Value, "pots") > 0) Then
Sheet1.Range("A" & i).Offset(0, 3).Value = Sheet1.Range("A" & i).Offset(0, 2).Value
End If
ElseIf Sheet1.Range("A" & i).Offset(0, 1).Value > 0 Then
Sheet1.Range("A" & i).Offset(0, 3).Value = Sheet1.Range("A" & i).Offset(0, 2).Value * Sheet1.Range("A" & i).Offset(0, 1).Value
ElseIf Sheet1.Range("A" & i).Offset(0, 1).Value = 0 Then
Sheet1.Range("A" & i).Offset(0, 3).Value = Sheet1.Range("A" & i).Offset(0, 2).Value
End If
End If
Next i
End Subhttps://stackoverflow.com/questions/52887288
复制相似问题