Страницы: 1
RSS
Извлечение чисел из ячейки и их перемножение
 
Здравствуйте,

Есть два диапазона (в примере A и Б)
В ячейках диапазона (Б) - 3 числа разделенных буквой Х (например 40х31х33)
Формула последовательно извлекает числа 40, 31, 33 перемножает их, делит на 10 ^ 6 и затем умножает на сумму чисел из ячеек диапазона (А).
Вопрос, можно ли сделать компактный немассивный аналог этой формулы?
 
И компактная, и немассивная :)
=A1*ПРОИЗВЕД(--ПСТР(B1;{1;4;7};2))/10^6
 
vikttur, Спасибо, но не совсем то. Эта формула работает для одной строки. А нужно по всему диапазону как в примере, в ячейке B8.
 
перепишите ее столько раз, сколько строк в Вашем диапазоне, заменяя каждый раз А1 и В1 на нужные адреса ячеек  
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
memo написал:  нужно по всему диапазону
Тогда или компактно, но массивно, или немассивно, но некомпактно
Например:
=СУММПРОИЗВ(A1:A6;ЛЕВБ(B1:B6;2)*ПСТР(B1:B6;4;2)*ПРАВБ(B1:B6;2))/10^6
 
Ігор Гончаренко, Тогда получится длинный монстр :)

Сделал так:
Код
=SUMPRODUCT(A1:A6,--MID(B1:B6,1,2),--MID(B1:B6,4,2),--MID(B1:B6,7,2))/10^6
Но у этой формулы серьезный недостаток: она не работает при наличии пустых строк в диапазоне.
 
При такой задаче и получить немассивную в 20 символов? Ваше пожелание: перелететь быстро и комфортно на велосипеде :)
 
vikttur, Я очень на это надеялся)
 
Летите. Но не ожидаемый лайнер.
Формула массива:
=СУММ(A1:A6*ЕСЛИОШИБКА(ЛЕВБ(B1:B6;2)*ПСТР(B1:B6;4;2)*ПРАВБ(B1:B6;2);))/10^6
 
Спасибо vikttur, Игорь.

Остановлюсь на последнем варианте.
Тема исчерпана.  
Страницы: 1
Наверх