2017-01-27 7 views
2

У меня есть столбец на листе 1 следующим образом:Excel: Найдите наиболее часто встречающееся значение в диапазоне?

Column D 
    Dog 
    Dog 
    Dog 
    Dog 
    Cat 
    Cat 
    Cat 
    Hamster 
    Frog 
    Frog 

На листе 2, я хочу перечислить 10 наиболее часто встречающиеся слова в хронологическом порядке

Dog . <---Most Frequent 
Cat . <---Second Frequent 
Frog . <--Third 
etc. 

Я пытаюсь использовать индекс , режим и матч так:

=INDEX(Sheet1!D:D,MODE(MATCH(Sheet1!D:D,Sheet1!D:D,0))) 

Это дает N/ошибка

Но если я добавлю диапазоны к моей колонке, как показано ниже:

=INDEX(Sheet1!D1:D10,MODE(MATCH(Sheet1!D1:D10,Sheet1!D1:D10,0))) 

Тогда это работает.

Проблема в данных будут добавлены в columnn D и мне это нужно, чтобы посмотреть весь столбец D.

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

+1

Используемые именованные диапазоны для получения диапазона данных. Несколько способов сделать это, counta, isblank и т. Д. Затем вставляйте именованный диапазон в формулу вместо D1: D10 – MacroMarc

+0

Пустое значение - это ваша проблема, вызывающая ошибку. Если вы даже попробуете явный диапазон, но с одной пустой ячейкой вы получите ту же ошибку. Следуйте идеям @MacroMarc, и вы должны туда добраться. – dlb

+0

Вы можете просто использовать сводную таблицу. –

ответ

1

Если мы используем вспомогательную колонку, мы можем полностью устранить необходимость в формулах массива. В E1 введите 1 и E2 входят:

=IF(COUNTIF($D$1:D1,D2)>0,"",1+MAX($E$1:E1)) 

и скопировать вниз до колонки D. (как элементы добавляются в колонке D , тянуть колонку Е формулу вниз, а)

Наконец, в F1 введите:

=IFERROR(INDEX(D:D,MATCH(ROWS($1:1),E:E,0)),"") 

и скопировать вниз. В G1 входят:

=COUNTIF(D:D,F1) 

и скопируйте:

enter image description here

Примечание:

Столик частоты в колонках F и G является «sort- в состоянии».

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