Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Странное поведение функций СУММЕСЛИ, СЧЕТЕСЛИ и т.п. с критерием "<>", Баг, или что?
 
Заметил такую особенность в функциях СУММЕСЛИ, СУММЕСЛИМН и т.п.: если критерий задан как"<>числу" ("<>2", на пример), и диапазон критериев задан в тестовом формате, функции работают неверно.
В то же самое время критерий "=2" работает правильно.
Это баг, или как?

зы. по мотивам Этой темы
Изменено: Михаил С. - 21 Май 2013 14:16:54
 
Как предположение - заморочка из=за общего формата, т.к. с числами и текстом более-менее определенно.
К сожалению не могу найти пояснение, что с нечисловыми форматами условия следует писать через амперсант: "<>"&2, ">"&2, "<"&2 - почти как в условиях расширенного фильтра... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Цитата
Z пишет:
словия следует писать через амперсант: "<>"&2, ">"&2, "<"&2
так =СУММЕСЛИ(A1:A20;"<>"&2;B1:B20) тоже не работает.
 
По-моему всё правильно считает.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Володь, меня интересует не как посчитать, а почему так считает.
Почему для критерия "равно" формат ячейки не важен, а для "<>" - текст пропускает?
 
А понял, т.е. = текст учитывает и число, а <> только число.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Михаил С., А я наоборот не пойму почему для критерия "равно" формат ячейки не важен???

Ведь если просто сопоставить через "равно" 2 с текстовым форматом и 2 с числовым, то выдаст ЛОЖЬ, а если через "<>", - выдаст ИСТИНА. Хотя может я что-то не так понимаю???
 
Есть еще одна особенность:
=СУММЕСЛИ(A1:A17;"<>D6";B1:B17) - дает 17 (в D6 "2");
=СУММЕСЛИ(A1:A17;"<>2";B1:B17)   - дает 5...
...
Продолжаем-с... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Цитата
Должен быть ноль в обоих случаях, по идее.
Нуль результатом вычисления был бы, если бы третий аргумент не указывался и суммирование проводилось бы на основе одного столбца А. Т.к. в этом случае происходит неявное приведение типов в любом случае.

В случае с текстом и таким поведением при заданных всех аргументах:
"=2" воспринимается как 2. Потому как = по умолчанию принимается в критерии не как символ сравнения, а как указание на сам критерий. В общем, он просто опускается, а "2" преобразовывается в 2. Так же идет преобразование в диапазоне с критериями.
"<>2" - уже воспринимается как сравнение и в таком случае приведения типов(преобразования в число) в диапазоне критериев не происходит. Что в принципе верно, т.к. все мы знаем, что текст 2 всегда больше числа 2. А заранее неизвестно, что Вы там собрались сравнивать и по каким законам и нужно ли Вам это преобразование.

Кажется, как-то так...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
А если у меня весь диапазон в текстовом формате, и мне нужно просуммировать соответствующие значения по критерию "<>5"?
Работают варианты "<>*5" и "<>5*", но они могут дать ошибку (учесть "25" или "54", к примеру, а надо строго "5").

Есть, конечно, способы обойти это дело (как вариант - СУММ(всех)-СУММЕСЛИ(диап;5;все), но все же?
Страницы: 1
Читают тему (гостей: 1)
Наверх