Индекс Excel с функцией подсчета не работает? - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь использовать индекс с функцией count, чтобы вернуть последнее число в определенном массиве.

У меня есть числовые данные в C6: C17, и я хочу, чтобы F6 возвращал последнее значение из этого массива (C6: C7).

Я использовал эту формулу: =INDEX(C6:C17;COUNT(C6:C17)), и она отлично работает.

Но когда я использую эту формулу: =INDEX(C6:C17;COUNT(C6:C17)-4), она возвращает значение четвертой предыдущей строки. Если у меня есть только значения на C6, C7, C8, C9, а остальное пусто, он возвращает значение C6. Если я выберу F7 вместо F6, чтобы вернуть значение, та же формула даст мне значение C7.

Это не должно давать мне ошибки, так как мой -4 теперь находится вне массива. Это происходит только в строке перед строкой, в которой начинается массив.

Если я поставлю (-5) в той же формуле и с теми же значениями, это даст мне ошибку.

1 Ответ

0 голосов
/ 10 мая 2019

Это связано с тем, что 0 является допустимым параметром для возврата строки:

=INDEX(C6:C17;0)

Возвращает весь диапазон в виде массива, поскольку этот массив помещается в одну ячейку, а не через несколькоформула массива возвращает только первое значение массива, C6.

Отрицательные значения не являются допустимым вариантом:

=INDEX(C6:C17;-1) 

приведет к ошибке.

Если вычтобы не допустить этого, вам нужно проверить, равен ли 0. Быстрый способ - получить обратную величину для обратной величины:

=INDEX(C6:C17;1/(1/(COUNT(C6:C17)-4)))

. Теперь это выдаст ошибку вместо возврата значения, если число меньше.чем 5.

Или вы можете просто проверить и вернуть отрицательный результат:

=INDEX(C6:C17;IF(COUNT(C6:C17)>4;COUNT(C6:C17)-4;-1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...