|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.02.2010, 21:11 | #1 |
Регистрация: 23.02.2010
Сообщений: 4
|
Расчёт проходного балла (работа с массивами и цикл в Excel без VB)
Добрый день, уважаемые форумчане!
В связи с тем, что специфика моей деятельности как программиста связана с совершенно иными средами разработки, не могу одолеть несложную задачу на Excel, которая попалась под руку и которую необходимо срочно решить. Итак, коротко: имеется таблица со значениями от 0 до 10, значений около 25-30. Имеется перменная, равная к примеру 6. Требуется выбрать не более 6 самых высоких значений из списка и вывести наименьшее из них. Разумеется, значения будут меняться, и переменная тоже. На данный момент я добился подсчёта количества повторов каждого из значений, а что делать дальше (каким образом не прибегая к VB в цикле прогнать каждое из значений по убыванию до момента, пока результат вычитания не станет <1, я не знаю как это сделать средствами экселя) Итак, ещё раз алгоритм (с прикреплённым скрином таблицы): Итак, шаг #1: берём количество повторов первого (самого высокого) значения (равного 10), т.е. 1 повтор. Из нашей переменной (D6=6) вычитаем получившееся кол-во повторов (6-1=5) и проверяем, чтобы это было больше нуля. Если больше, то обновляем (запоминаем) переменную (вместо 6 у нас остаётся 5) и переходим к следующей, точно такой же итерации, но со следующей парой значений из таблицы (9=>4). Получается 5-4=1 что тоже больше 0, запоминаем (обновляем) переменную получившимся значнием и переходим к следующей итерации Далее у нас идёт пара значений 8=>6 Таким образом 1-8 меньше нуля, значит записываем в качестве нужного нам результата (к примеру запишем его в ячейку D2) аргумент последней итерации (9), а аргумент текущей (8) запишем в другую ячейку (к примеру D3). На этом и закончим наш цикл. Возникает вопрос, каким образом реализовать вышеописанный алгоритм? Дело в том, что сам я php программист и схема хранения и доступа к массивам в excel с моим представлением и пониманием не очень стыкуется В c бы сделал это циклом в 2 строчки, однако как я понял, в excel ни циклов, ни массивов (кроме матричного представления) нету? Буду очень благодарен, если кто-нибудь сможет разъяснить или помочь с реализацией этого чуда. Заранее всем огромное спасибо! |
23.02.2010, 21:28 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
алгоритм отличный, но его весь полностью заменяет одна функция НАИБОЛЬШИЙ.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
23.02.2010, 21:37 | #3 |
Регистрация: 23.02.2010
Сообщений: 4
|
Огромное спасибо за пример! Пытался что-то соорудить из этой функции раньше, но ничего не вышло. Теперь пытаюсь вникнуть, в чём была моя ошибка. Ещё раз спасибо!
|
23.02.2010, 22:49 | #4 |
Регистрация: 23.02.2010
Сообщений: 4
|
В заключение маленький вопросик по синтаксису
Никак не получается корректно написать формулу =COUNTIF(R[-3]C[-2]:R[22]C[-2];">=8") где вместо >=8 необходимо подставить >= от VALUE(R[-2]C) Подскажите, пожалуйста, как это правильно оформить? Перепробовал все варианты, которые пришли в голову, но каждый раз ошибка синтаксиса |
23.02.2010, 22:57 | #5 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 410
|
">=8"
заменить например на: ">=" & A1 с синтаксисом ссылок РЦ не знаком к сожалению |
23.02.2010, 23:14 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
....;">=" & R1C1
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
23.02.2010, 23:27 | #7 |
Регистрация: 23.02.2010
Сообщений: 4
|
Спасибо!!! Получилось
Необходимую задачу удалось выполнить. Огромное спасибо всем за помощь!!! Последний раз редактировалось dark.angel; 23.02.2010 в 23:28. Причина: Дописать благодарность |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как при импорте из Excel в delphi узнать сколько заполненных строк в книге Excel?чтобы организовать цикл | betirsolt | БД в Delphi | 1 | 17.01.2010 18:51 |
Векторный расчёт в excel | klok | Microsoft Office Excel | 2 | 04.08.2009 22:00 |
Excel, работа с массивами, возможно ли вообще это сделать? | GaSST | Microsoft Office Excel | 5 | 17.06.2009 14:28 |
Excel, работа с массивами, возможно ли вообще это сделать? | GaSST | Помощь студентам | 0 | 17.06.2009 12:11 |
Пожалуйста, подскажите можно ли и как сделать в Excel расчёт процентов? | magi | Microsoft Office Excel | 8 | 28.09.2007 22:48 |