Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Работа с MS Office > Подсчет общей суммы в Excel через строку


Автор: Erica 30.7.2006, 22:45
Помогите плз...
Не знаю как сделать: у меня экселевский документ: формулой перемножаю цену и количество, получаю сумму, эту сумму умножаю на курс, получаю вторую сумму в другой валюте и так несколько наименований товара. В общем виде все выглядит так:

1.   100USD   
      150EURO
2.   200USD   
      300EURO
3.   300USD   
      4500EURO

Мне нужно посчитать отдельно в долларах, отдельно в евро, но не в ручную.
И еще желательно чтобы при добавлении новой строки, это строка автоматом добавлялась в общую сумму.

Заранее благодарю за помощь 

Автор: ИгнатьевАлексей 31.7.2006, 07:55
Если формат твоего документа такой как ты указала, то в формуле "СУММ" придется указывать ячейки через одну:
=СУММ(A1;A3;A5 и т.д.)

Но меня удивляет неудобство документа, ведь то, что впоследствии суммируют, обычно располагают в собственных столбцах:
      1.   100USD     150EURO
      2.   200USD     300EURO
      3.   300USD     4500EURO


Но, как я правильно понял, главная проблема твоя - избавиться от USD и  EURO при суммировании. Функция
=ПОДСТАВИТЬ(A1;"USD ";"") 
возвращает 100 если в ячейка А1 было 100USD, да только в текстовом формате. 
Функция =ЗНАЧЕН() переведет это дело в формат числа пригодный для суммирования.

Таким образом, наша "матрешка" будет иметь вид:

=СУММ(ЗНАЧЕН(ПОДСТАВИТЬ(A1;"USD ";""));ЗНАЧЕН(ПОДСТАВИТЬ(A3;"USD ";""));ЗНАЧЕН(ПОДСТАВИТЬ(A5;"USD ";"")) и т.д.)

Задача решается, на так жить нельзя!!! smile 

Еще есть удобная функция =СУММЕСЛИ, но если ее покрутить в твоей задаче, тоже получится "огород".

На мой взгляд, имеем типичную ситуацию, когда набросать свою функцию будет намного удобнее и эффективнее. 
Умеешь?


Цитата

И еще желательно чтобы при добавлении новой строки, это строка автоматом добавлялась в общую сумму.

Тогда надо использовать =СУММЕСЛИ, чтобы ячейки задавать непрерывнвм массивом. 

Автор: Erica 8.8.2006, 23:39
ИгнатьевАлексей, придется научиться, спасибо за совет, пойду тестить

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)