Умножение чисел через Слэш ( / )
Foxi_life
Дата: Четверг, 08.01.2015, 16:49 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Добрый день! Помогите с решением такой задачи: Нужно умножить число стоящий в 1й ячейки 1000/1000/1000 например на 60%, как это сделать?
Добрый день! Помогите с решением такой задачи: Нужно умножить число стоящий в 1й ячейки 1000/1000/1000 например на 60%, как это сделать? Foxi_life
Сообщение отредактировал Foxi_life - Четверг, 08.01.2015, 16:50
Ответить
Сообщение Добрый день! Помогите с решением такой задачи: Нужно умножить число стоящий в 1й ячейки 1000/1000/1000 например на 60%, как это сделать? Автор - Foxi_life Дата добавления - 08.01.2015 в 16:49
buchlotnik
Дата: Четверг, 08.01.2015, 17:04 |
Сообщение № 2
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация:
929
±
Замечаний:
20% ±
2010, 2013, 2016 RUS / ENG
Foxi_life , а как Вы себе представляете результат? 60/60/60? и вопрос по количеству слэшей - их всегда два или может быть разное количество?
Foxi_life , а как Вы себе представляете результат? 60/60/60? и вопрос по количеству слэшей - их всегда два или может быть разное количество?buchlotnik
Ответить
Сообщение Foxi_life , а как Вы себе представляете результат? 60/60/60? и вопрос по количеству слэшей - их всегда два или может быть разное количество?Автор - buchlotnik Дата добавления - 08.01.2015 в 17:04
Foxi_life
Дата: Четверг, 08.01.2015, 17:13 |
Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
buchlotnik , Да, результат должен бать таким. Есть прайс, там числа стоят через слэш, их нужно умножить. Бывают и 2 и 3 слэшей
buchlotnik , Да, результат должен бать таким. Есть прайс, там числа стоят через слэш, их нужно умножить. Бывают и 2 и 3 слэшейFoxi_life
Ответить
Сообщение buchlotnik , Да, результат должен бать таким. Есть прайс, там числа стоят через слэш, их нужно умножить. Бывают и 2 и 3 слэшейАвтор - Foxi_life Дата добавления - 08.01.2015 в 17:13
Hugo
Дата: Четверг, 08.01.2015, 17:48 |
Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3856
Репутация:
814
±
Замечаний:
0% ±
365
На скору руку - UDF. Первый параметр - обрабатываемая ячейка, второй - вводите свои 60 или сколько нужно. Затем результаты копипастите как значения поверх исходных данных, столбец с формулами удаляете. [vba]Код
Function korr(r As Range, proc As Long) Dim arr, i arr = Split(r.Value, "/") For i = 0 To UBound(arr) arr(i) = arr(i) * (proc / 100) Next korr = Join(arr, "/") End Function
[/vba]
На скору руку - UDF. Первый параметр - обрабатываемая ячейка, второй - вводите свои 60 или сколько нужно. Затем результаты копипастите как значения поверх исходных данных, столбец с формулами удаляете. [vba]Код
Function korr(r As Range, proc As Long) Dim arr, i arr = Split(r.Value, "/") For i = 0 To UBound(arr) arr(i) = arr(i) * (proc / 100) Next korr = Join(arr, "/") End Function
[/vba] Hugo
webmoney: E265281470651 Z422237915069 USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
Ответить
Сообщение На скору руку - UDF. Первый параметр - обрабатываемая ячейка, второй - вводите свои 60 или сколько нужно. Затем результаты копипастите как значения поверх исходных данных, столбец с формулами удаляете. [vba]Код
Function korr(r As Range, proc As Long) Dim arr, i arr = Split(r.Value, "/") For i = 0 To UBound(arr) arr(i) = arr(i) * (proc / 100) Next korr = Join(arr, "/") End Function
[/vba] Автор - Hugo Дата добавления - 08.01.2015 в 17:48
vikttur
Дата: Пятница, 09.01.2015, 02:30 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Макрофункция в имени (Ctrl+F3 )
Макрофункция в имени (Ctrl+F3 ) vikttur
Ответить
Сообщение Макрофункция в имени (Ctrl+F3 ) Автор - vikttur Дата добавления - 09.01.2015 в 02:30
Richman
Дата: Суббота, 10.01.2015, 12:38 |
Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 346
Репутация:
54
±
Замечаний:
0% ±
Excel 2007
Foxi_life , Если я правильно понял то, если ввести 100/100/100, то результат должен быть: 60/60/60 Формула для максимум трех слешей и четырех значений, т.е 100/200/300/400-максимум, если будет больше, т.е 100/200/300/400/500, то высветится "ошибка ввода" Код
=ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=0;A1*$C$1;ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=1;ЛЕВСИМВ(A1;НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1)+1;20)*$C$1;ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=2;ЛЕВСИМВ(A1;НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1)+1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)-НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1;20)*$C$1;ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=3;ЛЕВСИМВ(A1;НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1)+1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)-НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1;НАЙТИ("/";A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1)-НАЙТИ("/";A1;НАЙТИ("/";A1)+1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1)+1;20)*$C$1;"ошибка ввода"))))
Foxi_life , Если я правильно понял то, если ввести 100/100/100, то результат должен быть: 60/60/60 Формула для максимум трех слешей и четырех значений, т.е 100/200/300/400-максимум, если будет больше, т.е 100/200/300/400/500, то высветится "ошибка ввода" Код
=ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=0;A1*$C$1;ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=1;ЛЕВСИМВ(A1;НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1)+1;20)*$C$1;ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=2;ЛЕВСИМВ(A1;НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1)+1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)-НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1;20)*$C$1;ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=3;ЛЕВСИМВ(A1;НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1)+1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)-НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1;НАЙТИ("/";A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1)-НАЙТИ("/";A1;НАЙТИ("/";A1)+1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1)+1;20)*$C$1;"ошибка ввода"))))
Richman
С Уважением, Richman
Сообщение отредактировал Richman - Суббота, 10.01.2015, 12:43
Ответить
Сообщение Foxi_life , Если я правильно понял то, если ввести 100/100/100, то результат должен быть: 60/60/60 Формула для максимум трех слешей и четырех значений, т.е 100/200/300/400-максимум, если будет больше, т.е 100/200/300/400/500, то высветится "ошибка ввода" Код
=ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=0;A1*$C$1;ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=1;ЛЕВСИМВ(A1;НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1)+1;20)*$C$1;ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=2;ЛЕВСИМВ(A1;НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1)+1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)-НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1;20)*$C$1;ЕСЛИ(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";""))=3;ЛЕВСИМВ(A1;НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1)+1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)-НАЙТИ("/";A1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1;НАЙТИ("/";A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1)-НАЙТИ("/";A1;НАЙТИ("/";A1)+1)-1)*$C$1&"/"&ПСТР(A1;НАЙТИ("/";A1;НАЙТИ("/";A1;НАЙТИ("/";A1)+1)+1)+1;20)*$C$1;"ошибка ввода"))))
Автор - Richman Дата добавления - 10.01.2015 в 12:38
Nic70y
Дата: Суббота, 10.01.2015, 13:00 |
Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 9145
Репутация:
2416
±
Замечаний:
0% ±
Excel 2010
с ЕСЛИОШИБКА Код
=ЕСЛИ((ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";"")))>3;"ошибка ввода";ЛЕВБ(ПОДСТАВИТЬ(A1;"/";ПОВТОР(" ";15));15)*C$1&ЕСЛИОШИБКА("/"&ЛЕВБ(ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("/";A1)+1;15);"/";ПОВТОР(" ";15));15)*C$1;"")&ЕСЛИОШИБКА("/"&ЛЕВБ(ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1;"/";"\";2))+1;15);"/";ПОВТОР(" ";15));15)*C$1;"")&ЕСЛИОШИБКА("/"&ЛЕВБ(ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1;"/";"\";3))+1;15);"/";ПОВТОР(" ";15));15)*C$1;""))
[p.s.]файл стырил у Richman [/p.s.]
с ЕСЛИОШИБКА Код
=ЕСЛИ((ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";"")))>3;"ошибка ввода";ЛЕВБ(ПОДСТАВИТЬ(A1;"/";ПОВТОР(" ";15));15)*C$1&ЕСЛИОШИБКА("/"&ЛЕВБ(ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("/";A1)+1;15);"/";ПОВТОР(" ";15));15)*C$1;"")&ЕСЛИОШИБКА("/"&ЛЕВБ(ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1;"/";"\";2))+1;15);"/";ПОВТОР(" ";15));15)*C$1;"")&ЕСЛИОШИБКА("/"&ЛЕВБ(ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1;"/";"\";3))+1;15);"/";ПОВТОР(" ";15));15)*C$1;""))
[p.s.]файл стырил у Richman [/p.s.] Nic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Суббота, 10.01.2015, 13:07
Ответить
Сообщение с ЕСЛИОШИБКА Код
=ЕСЛИ((ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"/";"")))>3;"ошибка ввода";ЛЕВБ(ПОДСТАВИТЬ(A1;"/";ПОВТОР(" ";15));15)*C$1&ЕСЛИОШИБКА("/"&ЛЕВБ(ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("/";A1)+1;15);"/";ПОВТОР(" ";15));15)*C$1;"")&ЕСЛИОШИБКА("/"&ЛЕВБ(ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1;"/";"\";2))+1;15);"/";ПОВТОР(" ";15));15)*C$1;"")&ЕСЛИОШИБКА("/"&ЛЕВБ(ПОДСТАВИТЬ(ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1;"/";"\";3))+1;15);"/";ПОВТОР(" ";15));15)*C$1;""))
[p.s.]файл стырил у Richman [/p.s.] Автор - Nic70y Дата добавления - 10.01.2015 в 13:00
Foxi_life
Дата: Суббота, 10.01.2015, 16:28 |
Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Большое спасибо за помощь
Ответить
Сообщение Большое спасибо за помощь Автор - Foxi_life Дата добавления - 10.01.2015 в 16:28
krosav4ig
Дата: Суббота, 10.01.2015, 22:41 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация:
997
±
Замечаний:
0% ±
Excel 2007,2010,2013
еще один вариант до кучи
email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
Ответить
Сообщение еще один вариант до кучи Автор - krosav4ig Дата добавления - 10.01.2015 в 22:41
AlexM
Дата: Воскресенье, 11.01.2015, 02:08 |
Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1130
±
Замечаний:
0% ±
Excel 2003
До кучи так до кучиКод
=ТЕКСТ(ПОДСТАВИТЬ(ПСТР(ПОДСТАВИТЬ(0&A1&"/0/0";"/";ПОВТОР(" ";15));1;15)*C$1&"/"&ПСТР(ПОДСТАВИТЬ(0&A1&"/0/0";"/";ПОВТОР(" ";15));16;15)*C$1&"/"&ПСТР(ПОДСТАВИТЬ(0&A1&"/0/0";"/";ПОВТОР(" ";15));32;15)*C$1;"/0";);"0;-0;")
До кучи так до кучиКод
=ТЕКСТ(ПОДСТАВИТЬ(ПСТР(ПОДСТАВИТЬ(0&A1&"/0/0";"/";ПОВТОР(" ";15));1;15)*C$1&"/"&ПСТР(ПОДСТАВИТЬ(0&A1&"/0/0";"/";ПОВТОР(" ";15));16;15)*C$1&"/"&ПСТР(ПОДСТАВИТЬ(0&A1&"/0/0";"/";ПОВТОР(" ";15));32;15)*C$1;"/0";);"0;-0;")
AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение До кучи так до кучиКод
=ТЕКСТ(ПОДСТАВИТЬ(ПСТР(ПОДСТАВИТЬ(0&A1&"/0/0";"/";ПОВТОР(" ";15));1;15)*C$1&"/"&ПСТР(ПОДСТАВИТЬ(0&A1&"/0/0";"/";ПОВТОР(" ";15));16;15)*C$1&"/"&ПСТР(ПОДСТАВИТЬ(0&A1&"/0/0";"/";ПОВТОР(" ";15));32;15)*C$1;"/0";);"0;-0;")
Автор - AlexM Дата добавления - 11.01.2015 в 02:08