Страницы: 1
RSS
Счет по условию из закрытой книги, СЧЕТЕСЛИ не работает
 
Приветствую всех! Казалась бы простейшая задача, а справиться не получается, опыту и знаний не достаточно. Нужно посчитать в столбике количество не пустых ячеек, пока книга открыта формула =СЧЁТЕСЛИ('[1А.xlsx]1А.16.17.3'!B8:B35;"*") работает нормально, книгу закрываем и получаем #ЗНАЧ!. Перечитал кучу разных тем в поиске на форуме, но всё что-то не то, слишком сложно для понимания и повторения, тут же наткнулся на ссылку на статью с альтернативой COUNTIF, но она тоже не дала результата так как, банально, в примерах запятые, а не точка с запятой и если просто заменить то всё равно не получается, очень нуждаюсь в помощи.
 
для закрытых книг используйте
=СУММПРОИЗВ()
 
Sant,
Раз нет примера, то на пальцах.
Попробуйте так:
Код
=СУММПРОИЗВ(--(A2:A10=E2);--(B2:B10=F2))

Где Е2- первое условие,а F2 -второе
Диапазоны и условия замените на свои.
Изменено: Dyroff - 15.04.2017 07:55:23
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Мне показалось, что в данном вопросе пример без надобности потому как есть конкретная формула и только нужно ей написать альтернативу при закрытой книге. Использовать СУММПРОИЗВ вполне допускаю, но как именно, есть конкретный диапазон, точнее один столбик, нужно подсчитать в нём количество не пустых ячеек, ячейки могут содержать как текст так числа, какое тут можно/нужно использовать условие? Проще говоря, как изменить формулу =СЧЁТЕСЛИ('[Книга1.xlsx]Лист1'!A1:A100;"*"), что бы она продолжила работу при закрытии этой самой Книга1.xlsx???
Изменено: Sant - 15.04.2017 08:16:44
 
Sant,
Код
=СУММПРОИЗВ(--('[Книга1.xlsx]Лист1'!$A$1:$A$100<>""))

Вот так.
Формула посчитает Вам непустые ячейки.
Изменено: Dyroff - 15.04.2017 08:39:33
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Dyroff, спасибо, теперь работает, я до этого пытался использовать её же, но только за условие я брал ="*", по аналогии с СЧЁТЕСЛИ, вместо <>"", и она давала 0, проблема у меня с постановкой условий оказывается. И ещё маленький вопросик, что дают два минуса перед аргументом? Понимаю что это равнозначно -1*-1*, и вроде как ни чего не меняет, но без них не работает, это наверное что-то на подобии смены формата/типа???

И пока ждал ответ ушел не много в сторону формул-массивов и получилось ещё два варианта, мало ли вдруг кому-то пригодится:
Код
{=СУММ(ЕСЛИ(ДЛСТР('[Книга1.xlsx]Лист1'!$A$1:$A$100)>0;1;0))}
и вариант не много попроще:
Код
{=СУММ(ЕСЛИ('[Книга1.xlsx]Лист1'!$A$1:$A$100<>"";1;0))}
оба варианта дают такой же результат как и предыдущая формула с СУММПРОИЗВ, а если нужно подсчитать наоборот пустые, то достаточно "<>" и ">" заменить на "="
Изменено: Sant - 15.04.2017 09:47:21
 
Цитата
Sant написал:
что дают два минуса
Что означают два минуса
 
Sant, Функция СУММПРОИЗВ на выходе в этом случае выдает значение ИСТИНА и ЛОЖЬ. Так как невозможно суммировать текст, мы должны преавратить его в згачения. Два минуса - это математическая операция умножения указанного в скобках,умножение два раза на минус- дает плюс, а так как не указано аргументов,значение множится само на себя, что оставляет значение само без изменений,но при этом дает понять ячейке, что с ней совершается математическая операция. При совершении математической операции, значения ИСТИНА и ЛОЖЬ изменяются на 1 и 0 соответственно. То есть там где ИСТИНА, становится 1,где ЛОЖЬ 0. И вот уже эти значения суммируются, выдавая в качестве результата количество вхождений.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Страницы: 1
Читают тему
Наверх