Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Подсчет количества значений начиная с ненулевого

Автор Vadim_Ivanov, 16.01.2017, 18:17

« назад - далее »

Vadim_Ivanov

Помогите пожалуйста! Нужно подсчитать кол-во значений в строке начиная с ненулевого значения. После ненулевого могут быть нули, их нужно считать.
Можно формулой или VBA. Массивом не надо.
Спасибо огромное!

vikttur

Цитироватьформулой... Массивом не надо
Это как? Не применять формулу массива? Но это тоже формула...

Vadim_Ivanov

Через функцию VBA. Может я не так выразился на счет массива, извиняйте!

cheshiki1


zs5

Добавить доп.строки с формулой =ЕСЛИ(C7=0;0;1)
Количество значений по формуле =12-ПОИСКПОЗ(1;C5:N5;0)+1

IKor

С дополнительной строкой - не спортивно :)

но без формулы массива пока тоже не получилось...
мой вариант
{=1+СЧЁТ(C7:N7)-ПОИСКПОЗ("?";ТЕКСТ(C7:N7;"#");0)}
разумеется в частном случае можно использовать число 13 как сумму двух первых слагаемых...

А если можно преобразовать оригинальные цифры в текст :) то получится еще проще...

Vadim_Ivanov

Спасибо всем! Формула получена с другого форума.
Формула нужна была без массива, потому что я ее подставил бы в свою формулу для окончательного расчета. А с массивом нужно вводить дополнительный столбец для него. Массив с функцией не получается скрестить, ну у меня по крайней мере.

vikttur

1. Получили? И не поделиться с другими?
2. "Через функцию VBA" - Вы сами это писали, поэтому формулу не предлагал.

Vadim_Ivanov

"Через функцию VBA" - Вы сами это писали.......я писал ИЛИ

Вот такая получилась =13-ПОИСКПОЗ(1;ИНДЕКС(Ч(C7:N7>0);1;0);0)

vikttur

В ИНДЕКС не обязательно указывать строку/столбец:
=13-ПОИСКПОЗ(1;ИНДЕКС(Ч(C7:N7>0););)