Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Логическая формула для вычисления надбавки по критерию - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Логическая формула для вычисления надбавки по критерию
Rostyk1973 Дата: Вторник, 15.09.2015, 19:33 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Нужна логическая формула для Excel.
Задача:
Есть список автошин разных радиусов.
В каждом названии фигурирует английская буква «R» (радиус)
R13, R14, R15, R16
Задача:
Если в данном размере есть R13 надо чтобы формула додала до даной цены 30
Если в данном размере есть R14 надо чтобы формула додала до даной цены 40
Если в данном размере есть R15 надо чтобы формула додала до даной цены 50
Если в данном размере есть R16 надо чтобы формула додала до даной цены 60
Пример в файле
К сообщению приложен файл: 7246152.xlsx (12.6 Kb)


Сообщение отредактировал Rostyk1973 - Вторник, 15.09.2015, 20:23
 
Ответить
СообщениеНужна логическая формула для Excel.
Задача:
Есть список автошин разных радиусов.
В каждом названии фигурирует английская буква «R» (радиус)
R13, R14, R15, R16
Задача:
Если в данном размере есть R13 надо чтобы формула додала до даной цены 30
Если в данном размере есть R14 надо чтобы формула додала до даной цены 40
Если в данном размере есть R15 надо чтобы формула додала до даной цены 50
Если в данном размере есть R16 надо чтобы формула додала до даной цены 60
Пример в файле

Автор - Rostyk1973
Дата добавления - 15.09.2015 в 19:33
МВТ Дата: Вторник, 15.09.2015, 19:48 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Ничего логического
Код
=60 - 10*(16-(--ПСТР(B15;ПОИСК("R";B15)+1;2)))

UPD
Немного обрезало ответ:
Код
=ОКРУГЛ(C15+(60-10*(16-(--ПСТР(B15;ПОИСК("R";B15)+1;2))));2)


Сообщение отредактировал МВТ - Вторник, 15.09.2015, 20:54
 
Ответить
СообщениеНичего логического
Код
=60 - 10*(16-(--ПСТР(B15;ПОИСК("R";B15)+1;2)))

UPD
Немного обрезало ответ:
Код
=ОКРУГЛ(C15+(60-10*(16-(--ПСТР(B15;ПОИСК("R";B15)+1;2))));2)

Автор - МВТ
Дата добавления - 15.09.2015 в 19:48
YouGreed Дата: Вторник, 15.09.2015, 20:16 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 589
Репутация: 123 ±
Замечаний: 0% ±

Excel 2010
Rostyk1973,
Код
=ВПР(ПСТР($B15;ПОИСК("R";$B15;1);3);$F$11:$G$14;2;)+$C15
К сообщению приложен файл: -_.xlsx (13.8 Kb)


Сообщение отредактировал YouGreed - Вторник, 15.09.2015, 20:54
 
Ответить
СообщениеRostyk1973,
Код
=ВПР(ПСТР($B15;ПОИСК("R";$B15;1);3);$F$11:$G$14;2;)+$C15

Автор - YouGreed
Дата добавления - 15.09.2015 в 20:16
Udik Дата: Вторник, 15.09.2015, 21:26 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
я такую сделал
Код

=C16+ПСТР(B16;11;1)*10


это если формат данных строго как в примере
К сообщению приложен файл: 1570996.xlsx (13.7 Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Вторник, 15.09.2015, 21:28
 
Ответить
Сообщениея такую сделал
Код

=C16+ПСТР(B16;11;1)*10


это если формат данных строго как в примере

Автор - Udik
Дата добавления - 15.09.2015 в 21:26
Rostyk1973 Дата: Вторник, 15.09.2015, 22:17 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
 
Ответить
Сообщение


Автор - Rostyk1973
Дата добавления - 15.09.2015 в 22:17
Rostyk1973 Дата: Вторник, 15.09.2015, 22:21 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Хорошо, а если добавить надо не делимые числа, к примеру : до 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
Дата добавления - 15.09.2015 в 22:21
МВТ Дата: Вторник, 15.09.2015, 22:57 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Попробуйте так
Код
=ИНДЕКС({2,3:3,7:4,3:6,8};(--ПСТР(B15;ПОИСК("R";B15)+1;2))-12)

В принципе, можно и 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
[/vba]


Сообщение отредактировал МВТ - Вторник, 15.09.2015, 23:17
 
Ответить
СообщениеПопробуйте так
Код
=ИНДЕКС({2,3:3,7:4,3:6,8};(--ПСТР(B15;ПОИСК("R";B15)+1;2))-12)

В принципе, можно и 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
[/vba]

Автор - МВТ
Дата добавления - 15.09.2015 в 22:57
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!