Strogg
![](http://forum.ru-board.com/board/avatars/p21.gif)
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору bredonosec Цитата: Берется функция смолл, игнорить ошибки, массив столбец А.. а дальше не понял. Как мы массив делим? | Берутся номера строк ROW(A1:A, скажем, 100) берется столбец с данными и критерий, функция находит совпадения (TRUE) затем делением (мат. операция TRUE/number) получает номер строки. Ошибки при этом игнорируются, как идеологически вредные. Далее, как и в функции НАИМЕНЬШИЙ выводится коэффициент положения в диапазоне, 1, 2, 3 и т.д. Не скажу, что справка дает исчерпывающие ответы, но принцип работы проясняет. Идея же использования этой части COUNTIF(A$1:A1;$A$1:$A$99) заключается в создании массива констант по возрастающей (или убывающей в зависимости какой параметр задан для AGGREGATE), для последующей сортировки. НО... Поскольку мы имеем дело с псевдочислами, то скорее всего, эта конструкция будет работать некорректно. Могу предложить совершенно тантрическую массивную формулу, основанную на матричном представлении данных от Майка Гирвина, много лет назад подсмотренную у него на канале, которая работает со смешанными данными (число/текст): Цитата: =INDEX($A$2:$A$20,INDEX(MODE.MULT(IFNA(MATCH(ROW($A$2:$A$20)-ROW($A$1),MMULT(($A$2:$A$20<>"")*($A$2:$A$20>=TRANSPOSE($A$2:$A$20)),1^ROW($A$2:$A$20)),{0,0}),"")),ROW(A1))) | Пример выложил на обменник. Линк будет действителен в течение 7 дней. Update. На одном из форумов нашел еще формулу: Цитата: =IFERROR(INDEX(A$2:A$20,MATCH(ROW(A1)+COUNTIF(A$2:A$20,""),MMULT(--(IF(A$2:A$20>=TRANSPOSE(A$2:A$20),ROW(A$2:A$20),)=ROW(A$2:A$20)),--ISNUMBER(ROW(A$2:A$20))),)),"") | С обоими формулами есть ньюанс. Дубли, то бишь одинаковые значения будут игнорироваться. Если в списке есть два значения типа 01-08, то будет выведено лишь одно. | Всего записей: 841 | Зарегистр. 08-05-2003 | Отправлено: 21:27 27-07-2021 | Исправлено: Strogg, 03:22 28-07-2021 |
|