Нужна логическая формула для Excel. Задача: Есть список автошин разных радиусов. В каждом названии фигурирует английская буква «R» (радиус) R13, R14, R15, R16 Задача: Если в данном размере есть R13 надо чтобы формула додала до даной цены 30 Если в данном размере есть R14 надо чтобы формула додала до даной цены 40 Если в данном размере есть R15 надо чтобы формула додала до даной цены 50 Если в данном размере есть R16 надо чтобы формула додала до даной цены 60 Пример в файле
Нужна логическая формула для Excel. Задача: Есть список автошин разных радиусов. В каждом названии фигурирует английская буква «R» (радиус) R13, R14, R15, R16 Задача: Если в данном размере есть R13 надо чтобы формула додала до даной цены 30 Если в данном размере есть R14 надо чтобы формула додала до даной цены 40 Если в данном размере есть R15 надо чтобы формула додала до даной цены 50 Если в данном размере есть R16 надо чтобы формула додала до даной цены 60 Пример в файле Rostyk1973
Хорошо, а если добавить надо не делимые числа, к примеру : до R13 добавить 2,5 до R14 добавить 3,7 до R15 добавить 4,3 а до R16 добавить 6,8 Тогда как ?
Хорошо, а если добавить надо не делимые числа, к примеру : до R13 добавить 2,5 до R14 добавить 3,7 до R15 добавить 4,3 а до R16 добавить 6,8 Тогда как ?Rostyk1973
В принципе, можно и UDF, но это - из пушки по воробьям [vba]
Код
Function Доплата(Спецификация As String, Доплаты As String) As Double If Спецификация = "" Or Доплаты = "" Then Exit Function Доплаты = Replace(Доплаты, ",", ".") Dim arr: arr = Split(Доплаты) With CreateObject("VBSCript.RegExp") .Pattern = "R\d\d" .Global = True If .Test(Спецификация) Then Спецификация = .Execute(Спецификация)(0) Else Exit Function .Pattern = "\D" Спецификация = .Replace(Спецификация, "") Доплата = Val(arr(Val(Спецификация) - 13)) End With End Function
В принципе, можно и UDF, но это - из пушки по воробьям [vba]
Код
Function Доплата(Спецификация As String, Доплаты As String) As Double If Спецификация = "" Or Доплаты = "" Then Exit Function Доплаты = Replace(Доплаты, ",", ".") Dim arr: arr = Split(Доплаты) With CreateObject("VBSCript.RegExp") .Pattern = "R\d\d" .Global = True If .Test(Спецификация) Then Спецификация = .Execute(Спецификация)(0) Else Exit Function .Pattern = "\D" Спецификация = .Replace(Спецификация, "") Доплата = Val(arr(Val(Спецификация) - 13)) End With End Function