Страницы: 1
RSS
определить какое значение(слово) чаще других встречается в БД
 
Собственно говоря весь вопрос в названии темы.Есть некая база данных, в которой только текстовые значения(в ячейке могут быть два слова через пробел).Нужно определить какое значение чаще других встречается в БД.Ответом должен быть текст,число повторений не нужно.  
Пример:  
Астон Вилла  
Милан    
Сампдория  
Астон Вилла  
Базель  
Астон Вилла  
Арсенал    
Челси  
Астон Вилла  
Барселона  
Реал  
 
Ответ:Астон Вилла  
 
По-моему должна для этого быть какая-то простая стандартная функция.Помогите,пожалуйста,кто знает.
 
=Счетесли()
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=Владимир}{date=06.05.2011 06:18}{thema=}{post}=Счетесли(){/post}{/quote}  
Обьясни,пожалуйста,как это сделать.Просто формула какая-то слишком заумная выйдет,сначала нужно будет все команды перебрать,посчитать сколько раз каждая встречается,затем сравнить какая чаще встречается,затем вернуть текстовое значение...Вобщем не понимаю как...
 
если без доп.столбцов и сводных, то, с использованием двух-трех простых функций:  
 
=ИНДЕКС($A$1:$A$20;ПОИСКПОЗ(МАКС(СЧЁТЕСЛИ($A$1:$A$20;$A$1:$A$20));СЧЁТЕСЛИ($A$1:$A$20;$A$1:$A$20);0))  
 
формула массива.  
 
пс. что-то наворотил тут я... :)) но - работает.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Правила гласят -  будет ваш пример есть так, а хочуха так, то и ответ не заставит себя ждать... :)  
-45118-
 
да, конечно же, для запрашивавемого не существует встроенной функции...  
думаю, что автор вопроса (как, впрочем, и я) должны сказать спасибо за предложенную формулу! :-)  
 
малюсенькая оговорка, что если в списке будет несколько значений у которых число повторений больше чем у других значений, то формула вернет первое из них по списку сверху вниз...
 
Можно так (простая формула):  
=ИНДЕКС(A1:A11;МОДА(ПОИСКПОЗ(A1:A11;A1:A11;)))
 
{quote}{login=DV}{date=06.05.2011 07:31}{thema=}{post}Можно так (простая формула):  
=ИНДЕКС(A1:A11;МОДА(ПОИСКПОЗ(A1:A11;A1:A11;))){/post}{/quote}  
 
Точно, есть такое слово - =МОДА()  
 
---  
Я уже про него забыл... старый видно.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=DV}{date=06.05.2011 07:31}{thema=}{post}Можно так (простая формула):  
=ИНДЕКС(A1:A11;МОДА(ПОИСКПОЗ(A1:A11;A1:A11;))){/post}{/quote}  
 
да, значительно короче и проще.  
но, в отличие от моего монстра, почему-то не работает (выдает #Н/Д), если в диапазоне есть пустые ячейки.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
В данном случае, не то что пустых ячеек, элементарного примера; - дождаться не можем...
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
{quote}{login=ikki}{date=06.05.2011 09:21}{thema=Re: }{post}  
да, значительно короче и проще.  
но, в отличие от моего монстра, почему-то не работает (выдает #Н/Д), если в диапазоне есть пустые ячейки.{/post}{/quote}  
Тогда можно так (тоже простая формула):  
=ПРОСМОТР(МИН(1/СЧЁТЕСЛИ(A1:A20;A1:A20));1/СЧЁТЕСЛИ(A1:A20;A1:A20);A1:A20)
 
Дмитрий (DV), Вашу предыдущую формулу тоже можно подправить:  
=ИНДЕКС(A1:A11;МОДА(ПОИСКПОЗ(A1:A11&"";A1:A11&"";)))
 
{quote}{login=ZVI}{date=07.05.2011 06:32}{thema=}{post}Дмитрий (DV), Вашу предыдущую формулу тоже можно подправить:  
=ИНДЕКС(A1:A11;МОДА(ПОИСКПОЗ(A1:A11&"";A1:A11&"";))){/post}{/quote}  
Класс!  
А с ПРОСМОТРом лучше не использовать, т.к. диапазон не отсортирован, возможны ошибки.  
 
 
-------  
11022
 
Более интересна задача вида: какое слово на n-ном месте по встречаемости в списке.  
Т.е. предложенные решения отвечают на вопрос: слово, которое на 1-м месте по встречаемости в списке.  
А вот если понадобится узнать какое слово на 2-м (3-м и т.д.) месте по встречаемости в списке, то уже будет нужна другая формула...
 
Это нужно или вопрос в воздух?  
РАНГ_СЧЕТ_каждого.  
Пример?
Страницы: 1
Читают тему
Наверх