|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.11.2015, 11:30 | #1 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
матрица условий для сумирования (формулы) как использовать знак "*" ?
есть определенная матрица из 4-х условий при соблюдении которых формула выдает тот или иной результат:
=СУММПРОИЗВ(($C$1:$C$15=$K3)*($D$1: $D$15=$L3)*($E$1:$E$15=$M3)*($F$1:$ F$15=$N3)*$H$1:$H$15) достаточно просто ) но например есть условие строка С и D не важно какое значение - я ставлю в этих строках "*" - формула не работает .. т.к. сравнение значения в к3 с каким то значением и столбце С со значением "*" дает ЛОЖЬ а надо ИСТИНА ... как затавить сумпроизв воспринимать "*" ?? |
03.11.2015, 12:31 | #2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Попробуйте этот фрагмент ($C$1:$C$15=$K3) заменить на
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
03.11.2015, 13:06 | #3 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
оператор сравнения = сравнивает значения
оператор не использует подстановочные символы т.е. "все" = "*" - получите ЛОЖЬ используйте функции, которые работают с подстановочными символами например поиск("*";"что угодно") = 1 в Вашем случае Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
03.11.2015, 13:14 | #4 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
ПОИСК() не работает т.к. сравнение надо обратное а не прямое .. т.е. в аргументе будет массив значений а в массиве - одно значение поскольку массив будет содержать "*" а аргумент всегда будет полным со всеми 4-мя условиями.
витиевато выразился )) т.е. если мы будем искать 1 _ 2_ 3 в базе где * _ 2 _ * то не найдет т.к. в условии четко определены 3 значения а если наоброт - то естественно найдем. пример в файле: Последний раз редактировалось kievlyanin; 03.11.2015 в 13:21. |
03.11.2015, 13:50 | #5 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
kievlyanin, вот ваши 3 и 10
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
03.11.2015, 13:50 | #6 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
в общем-то первая подсказка была правильной:
Цитата:
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
03.11.2015, 14:48 | #7 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
итого сделал так:
Код:
на основе формулы Казанский поскольку получается что условие прямое и условвие с "*" будут идентичны для суммирования, то я сделал сумирование по минимальному результату - зная эту особенность я составлю матрицу условий суммирования по убыванию точности условия. |
03.11.2015, 14:55 | #8 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
а то, что я написал тоже выдает 3 и 10
(переведите ексель в режим ссылок R1C1 и скопируйте в любую из ячеек, где она должна быть. формула раза в 3 короче от той, что решили использовать Вы)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 03.11.2015 в 14:59. |
03.11.2015, 15:34 | #9 |
Форумчанин
Регистрация: 21.04.2008
Сообщений: 110
|
у вас тоже надо будет уходить от проблемы задвоения условий четкого и общего (в примере по четкому условию где дает результата 3 формула даст результата 7 т.к. суппроизв сложит совпадения четкого условия и совпадения условия с "*" а это 3 и 4)
уходя от этгог через МИН() то тоже длинно получится: Код:
хотя на пару десяток симовол короче.. на реальной базе просмотрю что будет быстрее работать. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" | Alexsandrr | Microsoft Office Excel | 4 | 19.10.2013 14:22 |
как задать "мерность" масива и для каждого "измерения" максимальный индекс | vova_ | Общие вопросы Delphi | 5 | 31.07.2012 22:14 |
Pascal ABC строки - программа, которая каждую встреченную букву "б" заменяет сочетанием "ку" (использовать модули) | Raigo | Помощь студентам | 6 | 17.05.2012 15:35 |
Как создать "динамический" диапазон условия суммирования для формулы? | kievlyanin | Microsoft Office Excel | 13 | 08.09.2011 13:24 |
Как "динамически" использовать "DLL" | Air | Общие вопросы Delphi | 7 | 11.12.2007 21:55 |