2015-08-18 3 views
0

У меня есть этот пример:Подсчитайте все ячейки после обнаружения первого ненулевого значения - Excel?

Мне нужна формула для подсчета всех чисел после первого определения ненулевого значения.

Диапазон значений: A1: H4. Но мне нужно подсчитывать каждую строку A1: H1; A2: H2 ... A4: H4.

0 0 7 2 0 0 0 9 - результат чисел подсчитывали 6
5 0 4 0 2 0 0 0 - результат чисел подсчитывали 8
0 0 0 0 0 0 7 0 - результат чисел подсчитывали 2
0 0 0 0 0 0 0 4 - результат подсчета чисел 1

Спасибо! с

+0

Как ваши данные организованы? Являются ли строки в тех же ячейках (разделенных пробелом)? Есть ли в отдельных ячейках? –

+0

Являются ли эти значения отдельными ячейками или являются, например, «00120001» в одной ячейке? –

+0

Извините, значения находятся в диапазоне A1: H1 в этом примере .... – CatalinBitu

ответ

2

Если значения в A1: H1, формула массива **:

=COUNT(H1:INDEX(1:1,MATCH("",T(1/A1:H1),0)))

Для того, чтобы брать пример: с A1: H1, содержащий:

Ответственность:

1/A1:H1

вернется:

{#DIV/0!,#DIV/0!,0.142857142857143,0.5,#DIV/0!,#DIV/0!,#DIV/0!,0.111111111111111}

Применяя функцию Т к массиву возвращений:

{#DIV/0!,#DIV/0!,"","",#DIV/0!,#DIV/0!,#DIV/0!,""}

т.е. все не-нули в исходном диапазоне теперь были уменьшена до нулевой строки ""; все нули до ошибки.

Теперь мы можем выполнить точное соответствие для нулевой строки, так что:

MATCH("",T(1/A1:H1),0)

который:

MATCH("",{#DIV/0!,#DIV/0!,"","",#DIV/0!,#DIV/0!,#DIV/0!,""},0)

дает:

3

И так:

INDEX(1:1,MATCH("",T(1/A1:H1),0))

который:

INDEX(1:1,3)

возвращает ссылку на диапазон в ячейке:

C1

и так, наконец:

COUNT(H1:INDEX(1:1,MATCH("",T(1/A1:H1),0)))

который:

COUNT(H1:C1)

, в котором Excel будет корректировать ссылку на диапазон до:

COUNT(C1:H1)

является:

6

по требованию.

С уважением

** Формула массива не вводится таким же образом, как «стандартные» формулы. Вместо нажатия только ENTER, сначала удерживайте CTRL и SHIFT, а затем нажмите ENTER. Если вы сделали это правильно, вы заметите, что Excel помещает фигурные скобки {} вокруг формулы (хотя не пытайтесь вручную вставить их самостоятельно).

+0

Формула приносит мне 0 для A1: H1 .... – CatalinBitu

+0

извините! моя вина. Он работает отлично! – CatalinBitu

+0

Можете ли вы объяснить мне, пожалуйста, как это работает? – CatalinBitu

Смежные вопросы