2016-11-28 2 views
0

в строке 3, у меня есть массив данных, который содержит числовые значения и текст в виде «n.a.». Я был бы очень признателен, если бы кто-то мог помочь мне построить формулу, которая просматривает массив и возвращает n-й не-n.a. стоимость.Excel: посмотрите на массив и верните nth не "n.a." значение

Строки 3 начала в столбце B: 5, 8, па, 7, 6, 3, 9, 7, на 12

формулы возвратит 7, если п был установлен на 3.

формулы вернет 12, если n было установлено на 9.

Заранее спасибо.

ответ

1

Обрабатывают жирным, наклонным в формуле в качестве п значение:

= ИНДЕКС (3: 3, МАЛЫЙ (ИНДЕКС (ЕЧИСЛО (В3: К3) * ​​КОЛОННЫ (B3: К3) ,), + COUNTA (B3: K3) -COUNT (B3: K3)))

Обратите внимание, что данный ваш пример, полагая п до 9 приведет к # число! потому что есть только 8 чисел. Разверните B3: K3 в соответствии с вашим диапазоном, но не используйте ссылку на целую строку (использование ссылки на целые строки значительно снизит время выполнения). Если это предпочтительнее, вы можете создать динамический именованный диапазон вместо ручной настройки диапазона B3: K3.

+0

Это не работает для меня. Я немного подстроил формулу для реальных данных (см. Ниже). Для большинства строк я скопировал это вниз, он, кажется, возвращает число в последней ячейке, которая не является n.a. = ИНДЕКС ($ S11: $ AL11, МАЛЫЙ (ИНДЕКС (ISNUMBER ($ S11: $ AL11) * COLUMN ($ S11: $ AL11),), AW $ 9 + COUNTA ($ S11: $ AL11) -COUNT ($ S11: $ AL11))) – Mohammed

+0

Я не мог заставить его работать - я нахожу, что если есть n/a дальше, так что count и counta разные, это влияет на более ранние позиции в строке. –

0

Попробуйте

=INDEX(3:3,AGGREGATE(15,6,COLUMN(B3:K3)/ISNUMBER(B3:K3),3)) 

Эта формула приходит почти непосредственно от Бога, А.К.А. Скотт Крейнером. Способ, которым он работает, заключается в том, что любые ячейки, которые не содержат числа, будут давать # DIV/0! ошибка в делении. Любые ячейки, которые содержат число, просто дают столбец в B3: K3. Агрегат с 15,6 работает как SMALL, но игнорирует ячейки ошибок, тем самым давая вам ответ, который вы хотите.