Как упростить формулу Excel Подскажите как упростить формулу Excel : =B5*B6+C5*C6+D5*D6+E5*E6+F5*F6+G5*G6+H5*H6+I5*I6+J5*J6+K5*K6+L5*L6+M5*M6 ... |
=СУММПРОИЗВ(B5:K5;M6:M6) |
2) Или формулой массива, но это чуть сложнее. 3) или пользовательской VBA-функцией, это еще чуть сложнее |
упс, =СУММПРОИЗВ(B5:K5;B6:K6) |
Спасибо большое! |
rock1 - не за что! Обращайтесь. Excel и Gin - "родныя стяхии"... |
5-economist >у меня шеф недавно-показательно за час в экселе сделал решение задачи, над которой несколько дней "бились ребята грудью" в сишарпе) |
Фанат NASCAR - неудивительно, т.к. только Excel+VBA дает среду разработки, систему визуального контроля переменных в листах книги, в них же и интерфейс и систему ввода-вывода - в одном флаконе, причем с размытыми границами каждой из подсистем. Часто сталкиваюсь с тем, что набросок программы люди делают В Excel+VBA, а потом уже переносят его во что-то серьезнее... |
[em]набросок программы люди делают В Excel+VBA, а потом уже переносят его во что-то серьезнее...[/em] [url]http://www.youtube.com/watch?feature=player_embedded&v=RV6uiZj0FHM[/url] [url]http://www.gamasutra.com/view/feature/131968/microsoft_excel_revolutionary_3d_.php[/url] :) |
economist, а можно ли упростить такую формулу (там значений 15 где-то): =B6*(140*VLOOKUP(C6;level.A2:level.B21;2)/100)+D6*(208*VLOOKUP(E6;level.A2:level.B21;2)/100)+F6*(531*VLOOKUP(G6;level.A2:level.B21;2)/100) ... |
Технолог - ~6-)) ... rock1 - в упрощении формул должен быть мотив - какой он в этом случае? Чтобы помочь - нужно удалить в файле имя level - и по новой запостить сюда формулу. А tit лучше выложить куда-нить файл, без персональных данных. ... Кстати, стиль написания формул выдает непрофи - в функции VLOOKUP (она же ВПР) - нельзя в 99,99% случаев обходиться без третьего аргумента со значением False (ЛОЖЬ). Или это вообще не Excel, а OpenOffice Calc. Похоже на стиль работы "программистов" - некоей касты сисадминов, которых просят иногда помочь в Excel... |
Мотив простой: надо вводить вручную в формулу много значений до буквы y, а потом все это еще много раз вводить в другие строки. (Автоперенос формулы к сожалению нормально не работает) Это действительно OpenOffice Calc, а стиль - "гуманитарно-совещательный" :) Т.е. даже математики в ВУЗе не было )) Ссылка на файл: [url]https://dl.dropbox.com/u/53618353/123.xls[/url] Там вычисляются значения в красном столбике |
(Автоперенос формулы к сожалению нормально не работает) - это называется автозаполнение. Ну в общем по-порядку: 0) В каждой серьезной таблице должна быть шапка (заголовки столбцов), это очень упрощает ее понимание. 1) Стоит общая задача расчета полинома/многочлена, учитывающего весовые коэффициенты и оценки (баллы от 1 до 20). 2) Формула многочлена (ФМЧ) объемна, чтобы уменьшить вероятность ошибки - все весовые коэффициенты стоит вынести в отдельную строку (2-ю) и ссылаться в ФМЧ на нее. Чтобы при копировании (автозаполнении) формулы ссылки на весовые коэффициенты не слетали - ссылаться надо АБСОЛЮТНО, т.е. не +(B2*VLOOKUP(... а +($B$2*VLOOKUP(... Абсолютные ссылки, кстати, вводятся в OO Calc нажатием Shift+F4, в Excel - F4 (циклически) Точно так же стоит на листе level область A2:B21 сделать именованным диапазоном (напр BALL) - для этого надо его выделить, а затем впечатать имя в поле ввода в лев-верхн углу листа. В этом случае ссылка на диапазон становится абсолютной: =B3*(44*VLOOKUP(C3;BALL;2)/100) След-но одну ФМЧ можно тупо "проятнуть" вниз. Делитель /100 можно превратить во множитель *0,01 и вынести за скобки. В итоге получится что-то компактное вроде: =(B3*($B$2*VLOOKUP($C$3;BALL;2)+D3*($D$2*VLOOKUP(E3;BALL)+F3*($F$2*VLOOKUP(...))*0,01 Компактнее чем это сделать не получится... |
Текущее время: 04:02. Часовой пояс GMT +3. |