Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2010, 16:18   #1
Adeletto
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 12
По умолчанию Матрица

Здравствуйте! Подскажите пожалуйста кто может.
Есть необходимость назначать ячейке формулу в зависимости от текущей даты. Формула простая - сумма определенного столбца умножается на определенной число, которые зависят от текущего месяца
я создал матрицу (книга приложена). Подскажите пожалуйства как написать макрос который определял бы в какой позиции находится номер текущего месяца в матрице и расчитывал бы формулу которую необходимо присвоить

Заранее спасибо!
Вложения
Тип файла: rar Пример.rar (3.6 Кб, 20 просмотров)
Adeletto вне форума Ответить с цитированием
Старый 10.09.2010, 17:44   #2
KL (XL)
Форумчанин
 
Аватар для KL (XL)
 
Регистрация: 04.08.2009
Сообщений: 112
По умолчанию

См. пример без макросов
Вложения
Тип файла: zip Пример.zip (65.7 Кб, 21 просмотров)
KL [MVP - Microsoft Office Excel]
CPU: Intel Core 2, 2.17GHz | RAM: 3.25GB (4GB) | GPU: nVidia Quadro FX 2500M
OS: Windows 7 Ultimate x64 EN | MSO: 2010 Professional Plus x86 EN
KL (XL) вне форума Ответить с цитированием
Старый 10.09.2010, 18:02   #3
Adeletto
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 12
По умолчанию

Сначала была идея обойтись формулами, но решил что будет слишком тяжелый расчет... Думаю этого будет достаточно для решения реальной задачи. Большое спасибо!
Adeletto вне форума Ответить с цитированием
Старый 10.09.2010, 23:32   #4
kim2
Форумчанин
 
Регистрация: 23.03.2010
Сообщений: 101
По умолчанию

Или:
=СУММ(ИНДЕКС(N:P;;МАКС((МЕСЯЦ(C4)=E 5:G8)*E3:G3)))*МАКС((МЕСЯЦ(C4)=E5:G 8)*I5:I8)
kim2 вне форума Ответить с цитированием
Старый 11.09.2010, 14:57   #5
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

простая формула без использования матрицы:
Код:
=СУММ(ИНДЕКС(N:P;;ABS(-1+ОСТАТ(МЕСЯЦ(C4);-3))))*ИНДЕКС({1:4:2:1,33};ОКРВВЕРХ(МЕСЯЦ(C4)/3;1))
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн

Последний раз редактировалось DV68; 12.09.2010 в 10:01.
DV68 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
Матрица hexx Фриланс 6 04.03.2010 16:32
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11
Матрица jorjinho10 Паскаль, Turbo Pascal, PascalABC.NET 2 14.05.2009 15:18