Страницы: Пред. 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 След.
RSS
Избушка формулистов-3, не для вопросов, но для формульных задач
 
Максим Зеленский,
числа все случайные, в файле есть генератор - от выдает случайные числа, одинаковые, конечно, возможны

MCH,
я UDF написал за полтора-два часа (на каждом шаге определяю три наибольших и отнимаю от каждого по 1), когда наибольший 3-й меньше 1 - больше отнимать нечего!
а формулу написал к концу вторых суток...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
я UDF написал за полтора-два часа
написать UDF получилось за 5-10 минут, алгоритм тот же:
Скрытый текст

Но думаю, что для формулы алгоритм должен быть другим
Изменено: MCH - 13.04.2017 21:52:07
 
У меня udf такая примерно (пишу с телефона, код корявый):
потер старый код

Но вообще эта прогрессия должна превращаться в довольно компактную формулу, еще не додумал ее

UDF
Изменено: Максим Зеленский - 13.04.2017 23:34:11 (сплошные косяки в UDF)
F1 творит чудеса
 
Цитата
Максим Зеленский написал:
У меня udf такая
Результаты вычисления разные
 
на этих данных
3512215972
формула определила, что по 3 единички можно отнять 18 раз
господа,
добавлю интриги, два удивительных факта о формуле:
1. формула не массивная
2. формула содержит всего 1 ЕСЛИ(...)!
Изменено: Ігор Гончаренко - 14.04.2017 10:35:04
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
MCH, да, мой алгоритм неверный. Я начинал с минимального значения, похоже, это неверно...
F1 творит чудеса
 
Цитата
Ігор Гончаренко написал:
добавлю интриги, два удивительных факта о формуле:
Игорь, а формула универсальна? ее можно переделать, чтобы она вычитала по 4 единичке или она заточена только на 3?
UDF переделать очень просто
 
нет, Миша, строго для 3-х единичек

я заказчику сдал универсальную UDF, в которой 2 параметра:  
1) диапазон с данными
и
2) по сколько единиц отнимать за один раз
она без проблем считает, что угодно
но заказчик со старта хотел формулу и я со старта искал формулу, в том числе и универсальную, но и так чуть мозг не оплавился, пока потом для 3-х сочинил))
а сделать универсальную, для произвольного количества отнимаемых единиц - было бы здорово!
я предполагал, что смогу сделать формулу, которая последовательными итерациями переберет то же, что перебирал макрос, обьявил заказчику цену за формулу в 3 раза больше, чем за UDF. заказчик тут же решил что UDF отлично справляется с поставленной задачей)
а формула меня зацепила и на ее написание я потратил в 10 раз больше времени, чем на написание UDF
сделал формулу, которая определяет некоторые параметры данных, и манипулируя этими параметрами - выдает ответ
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
всё-таки видится, что здесь должно быть в первую очередь математическое решение с разложением чисел на составляющие, но, похоже, достаточно сложное, мне не хватает знаний
F1 творит чудеса
 
Однако...
может пора уже выявлять тройку призеров?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Интрига, интрига  :D  
F1 творит чудеса
 
Скажу так, если алгоритм решения не приходит сразу в течении нескольких минут, то как правило, решить задачу не получится.
Я пытался где-то около часа найти аналитически математическую зависимость, но не получилось, думаю, что у остальных также.
 
см. вложение. формула:
=ВЫБОР(МИН(СЧЁТ(B3:V3);4)+1;0;0;0;МИН(B3:V3);ЕСЛИ(СУММ(B3:V3)-НАИБОЛЬШИЙ(B3:V3;1)-2*НАИБОЛЬШИЙ(B3:V3;2)<0;СУММ(B3:V3)-НАИБОЛЬШИЙ(B3:V3;1)-НАИБОЛЬШИЙ(B3:V3;2);ЦЕЛОЕ(МИН(СУММ(B3:V3);СУММ(B3:V3)-(НАИБОЛЬШИЙ(B3:V3;1)>СУММ(B3:V3)/3)*(НАИБОЛЬШИЙ(B3:V3;1)-(СУММ(B3:V3)-НАИБОЛЬШИЙ(B3:V3;1))/2))/3)))
в колонке W. формула написана ТОЛЬКО для случая с отниманием матриц из 3-х единиц
в колонке А - UDF, которая считает тоже самое (для проверки)
кнопка InsOrders набросает новых случайных данных в соотв. с указанными перед ней двумя значениями

формулу я писал почти 2-е суток. Интересно, найдутся-ли такие комбинации данных, на которых формула выдаст не правильный ответ. Призываю всех к экспериментам в этой области))
и еще... двойным кликом по строке с данные правее основной таблицы можно посмотреть как UDF считала количество возможных вариантов.
от волнения забыл файл прицепить))
Изменено: Ігор Гончаренко - 26.04.2017 12:49:07
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, лучше вместо формулы описал математический алгоритм, чтобы можно было понять как считает
 
Только вчера увидел задачку от Игоря.
Выкладываю свой алгоритм. Формула получается больше чем у Игоря.
 
я обязательно опишу свое решение простыми словами, но извините, чуть позже
и еще сначала посмотрю и попытаюсь понять, что смастерил ZORRO2005))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, посмотри заодно и универсальную формулу на любые матрицы.
 
Источник - тема на форуме

Исходные: две таблицы со столбцами ИНН и Дата
Задача: к дате первой таблицы подставить ближайшую (по модулю) дату из второй таблицы. Соответствие ИНН. Данные не сортированы (в примере для удобства расположены по блокам ИНН). По строкам ссылки на таблицы "не едут".
Столбец Е - результат, столбец F - проверочный.

Планка - 59 символов (со знаком =)

P.S. Уточнение: разрыв между датами может быть больше 100 дней. Заменил файл: в таблицах для примера добавлен третий ИНН
 
C равно 58 символов
Формула массива, работает в Excel2003.
Алексей М.
 
Куда символ дел?! )
 
На баксах экономлю.  ;)
Алексей М.
 
Похоже, у нас разные решения. Я не могу ужать символ...
Ссылки на таблицу, не на столбец, да?
 
Ссылка со второй строки c H$2: и  c I$2:
Алексей М.
 
Э, нет... Если низ не закреплять, то у меня 56. А вдруг ниже другие данные?
Цитата
vikttur написал: По строкам ссылки на таблицы "не едут".
 
Что значит вдруг. Есть задача, ее решаем.
Цитата
vikttur написал: По строкам ссылки на таблицы "не едут".
странно, на фразу не обратил внимание, да и не понял бы.
Буду думать.
Алексей М.
 
Да, согласен, коряво написал... Но теперь, с разъяснениями, понятно будет.
 
66 61
Изменено: MCH - 16.05.2017 08:17:26
 
Цитата
vikttur написал:
теперь, с разъяснениями, понятно будет.
Будет.
Тогда у меня 61 символ.
Алексей М.
 
60 с равно
 
Больше нет желающих? Ждем до понедельника?
Страницы: Пред. 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 След.
Наверх