|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2016 - [решено] Как добавить вторую колонку с автоматическим расчетом процентов? |
|
|
2016 - [решено] Как добавить вторую колонку с автоматическим расчетом процентов?
|
|
Support L1+ Сообщения: 5432 |
Excel как-то странно себя ведет. Первую колонку с шагом в 0,5 он посчитал нормально. Я ввел сначала 1,0, потом 1,5, далее потянул выбранный столбик вниз и он сам уже добавил все последующие цифры (2,0 и т.д.). Для второй колонки нужно прибавить +7%. Я вручную вбил формулы и он прибавил проценты. После третьей ячейки я подумал, что он поймет чего я от него хочу и аналогичным образом потянул столбик вниз, но вместо того, чтобы рассчитывать проценты из первого столбца, он просто начал дублировать первые три значения, которые я вбивал вручную:
Как сделать так, чтобы вторая колонка автоматом добавляла +7% к первой колонке? |
|
|
Отправлено: 17:35, 06-11-2021 |
|
Support L1+ Сообщения: 5432
|
Профиль | Отправить PM | Цитировать Iska, А, вот вы как предлагаете... Любопытно. Да, это вполне рабочий вариант, спасибо. Правда, смущает странное округление, которое выполняет Excel. Для большинства результатов он округляет новую колонку нормально, но для каких-то отдельных чисел он показывает на одну тысячную меньше. Например, для числа 20,330 показывается остаток не 330, а 329. Куда единичка подевалась?
P.S. Файл по ссылке обновил на всякий случай, чтобы вы сами могли посмотреть: http://178.173.19.2:1987/Additional/1.xlsx |
|
Отправлено: 20:27, 06-11-2021 | #11 |
|
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Мой монструозный вариант.
|
|
------- Отправлено: 20:29, 06-11-2021 | #12 |
|
Support L1+ Сообщения: 5432
|
Профиль | Отправить PM | Цитировать megaloman, Ну вы даете
Я вообще ничего не понял... Во-первых, ваш вариант сортируется по возрастанию как-то очень уж странно, я никакой логики не вижу. Во-вторых, дробная часть явно не соответствует действительности: 1 и 1,07 - тут все правильно, но разница ведь составляет 0,07. У вас же откуда-то берется 0,14. |
|
Отправлено: 20:41, 06-11-2021 | #13 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Avatar-Lion:
. |
|
|
Отправлено: 20:58, 06-11-2021 | #14 |
|
Support L1+ Сообщения: 5432
|
Профиль | Отправить PM | Цитировать Iska, Почему тогда такая избирательность? Чем ему не угодили именно те цифры?
|
|
Отправлено: 21:06, 06-11-2021 | #15 |
|
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Avatar-Lion,
Цитата Avatar-Lion:
В столбце B (в примере в диапазоне $B$3:$B$41) занесены последовательно дробные части, как Вы это обозвали, базовой цены. Базовая цена вычисляется как B=1+0.5*(i-1) где i=1,2, ... и от этого берётся дробная часть как остаток от деления B/1 В столбце C в ячейках столбца B последовательно ищутся наименьшие 1, 2 , 3 значения и их позиция в этом массиве чисел. По найденной позиции вычисляется значение базовой цены. По базовой цена в столбце D умножается на 1,07. То есть что Вы требовали, если я правильно понял, Вы получили. Базовые цены, умноженные на проценты, рассортированы по возрастанию дробной части. Еще раз: в столбце B дробные части базовой цены, умноженной на проценты, расположены по возрастанию базовой цены. В столбце С базовая цена уже расположена по возрастанию дробной части сумм, умноженных на проценты, Очевидно, дробная часть в суммах в столбце D идёт по возрастанию, что мы так упорно добивались . Столбец B - служебный. Не нравится - скройте его. Не уверен, что смогу решить задачку без служебного столбца. Смысла как-то в ней не сильно вижу, хотелось бы понять, зачем это нужно. Макрос - и флаг в руки, если это не разовая акция. |
|
|
------- Последний раз редактировалось megaloman, 06-11-2021 в 22:18. Отправлено: 21:14, 06-11-2021 | #16 |
|
Support L1+ Сообщения: 5432
|
Профиль | Отправить PM | Цитировать megaloman, Да всё, всё, уже въехал. Спасибо за ваш вариант. Но товарищ Iska тоже толковую идею предложил: показывать сам остаток как таковой. Возможно, у меня даже получится совместить оба варианта для удобства и наглядности.
Что касается того, зачем это нужно... В игре This War of Mine в режиме продажи не показываются цены на товары, они скрыты разработчиками намеренно, чтобы добиться нужной атмосферы в игре, когда ты не знаешь сколько стоит та или иная вещь, но ты можешь примерно обменяться с торговцем. Но очевидно, что сама-то игра как-то всё же дает добро или отказ на совершение сделки. В итоге с помощью редактора сценариев удалось-таки узнать внутриигровые цены на предметы, хотя по факту в режиме торговли все цены делятся на два. Не знаю зачем это надо, я не программист. Например, в редакторе сценариев пистолет стоит 43 единицы, а в игре он будет идти по цене 21,5. Патроны - 7 в редакторе и 3,5 в игре. Ну и т.д. Также есть правило: предложение игрока всегда должно быть больше предложения торговца, т.е. торговать "один к одному" нельзя, всегда нужно переплачивать. Шаг стоимости составляет 0,5 единиц, т.е. при торговле хочешь-нехочешь, а переплатить 0,5 стоимости придется по-любому. Но! Помимо прочих персонажей, имеется два особенных, один из которых дает +7% к продажной цене, а другой +20% (это было уже установлено эмпирическим методом). Соответственно, появляется возможность сэкономить, т.к. игре важен сам факт переплаты, а уж на сколько эта переплата будет больше - на 0,5 или на 0,2 - уже не важно. Всего доступно 8 слотов у тебя и 8 слотов у продавца. Процедура обмена выглядит следующим образом: я накидываю 8 товаров, вспоминая стоимость каждого из них, т.е. "цена из редактора, поделенная на два". Если товары идентичные, то они обычно складываются в стопки, хотя у каждого товара есть свои пределы по количеству предметов в одном слоте. Например, бутылка самогона стоит 13,5 и продается только поштучно, а вот сигареты стоят 2,0, зато их можно по двадцать штук складывать... Короче, считается общая сумма всех своих товаров, затем набираем аналогичную кучу (по стоимости, а не по типу предметов) у продавца и сделка, наконец, заключается. Как вы понимаете, сей механизм не очень удобен в эксплуатации, хотя со временем ты запоминаешь цены на ходовые предметы и подглядывать в бумажку на столе практически не требуется. Конечно, в случае с добавлением в +20% всё усложняется, но поскольку прибавить двадцать процентов - это то же самое, что поделить на пять, высчитать в уме итоговую сумму всё-таки можно. Но вот с 7% всё печально, цифра неровная и удержать в уме единовременно столько цифр уже не получается. Это и навело меня на мысль: не пересчитывать каждый раз вручную все возможные комбинации, а сразу задать диапазон от 1,0 до 150,0 (больше этой суммы напихать предметов в 8 слотов едва ли получится), в рамках которого и будет осуществляется торговля. Соответственно, появится возможность узнать точки минимальной переплаты. Ну и дальше нужно будет просто набрать товаров на нужную сумму, заранее зная результат и имея уверенность в том, что переплата выйдет минимальной. |
|
Отправлено: 22:41, 06-11-2021 | #17 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Avatar-Lion:
Если Вы встанете на ячейку C38, нажмёте F2, выделите в формуле функцию Рабочего листа «ОСТАТ($B38;1)» и нажмёте F9 — то увидите, где алгоритмы не сработали и начинались проблемы: Скрытый текст
Давайте подучаем, что можно сделать. Вы ещё писали про округление — поясните подробнее, пожалуйста. |
|
|
Отправлено: 00:38, 07-11-2021 | #18 |
|
Support L1+ Сообщения: 5432
|
Профиль | Отправить PM | Цитировать Iska, Хм-м... Как-то в голову даже не могло прийти, что компьютер (!) может иметь какие-то проблемы с числами... Ладно. Собственно, говоря про округление, я говорил именно об этом: меня удивило сокращение на единичку, когда 330 превратилось 329. Это же первое правило округления: числа до 5 округляются в меньшую сторону, а выше 5 - в большую. Я мог бы понять, если бы 330 превратилось ровно в 300, но когда увидел 329... Для меня это выглядело как этакое неправильное округление или "округление со знаком минус". Но раз вы говорите, что это просто недоработка самой системы, то и хрен с ней. Я и так получил даже больше, чем рассчитывал. Большое вам спасибо! И вам, мистер megaloman, тоже спасибо.
Думаю, тему я отмечу решенной, поскольку таблицу с расчётами я получил, а некоторую погрешность в расчетах, которую внёс Excel, во внимание принимать пока не будем. Сама игра (This War of Mine) наверняка имеет ещё более хреновые механизмы компенсации ошибок в подобных расчётах, поэтому мучить непосредственно сам Excel я смысла не вижу. Еще раз всем спасибо. |
|
Отправлено: 01:19, 07-11-2021 | #19 |
|
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Iska, А зачем нужна махинация с превращением дробной части в целое? Что мешает сортировать по дробной части числа после ОСТАТ от деления на 1?
Прикладываю еще вариант, более общий: исходные числа могут следовать случайным образом. |
|
------- Отправлено: 01:24, 07-11-2021 | #20 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Медиа - Как подключить блютуз колонку к ноутбуку | warning1009 | Microsoft Windows 7 | 4 | 01-11-2019 15:27 | |
| PowerShell - [решено] Добавить колонку oem | farag | Скриптовые языки администрирования Windows | 2 | 20-07-2017 13:20 | |
| Добавить вторую ссылку | Выходной | Вебмастеру | 0 | 16-01-2015 05:46 | |
| [решено] Добавить вторую сетевую карту | El Scorpio | Железо в Linux | 7 | 29-10-2013 01:00 | |
| Разное - Как добавить в меню пуск в правую колонку пункт Мое видео ???? | Guman | Оформление Windows XP | 8 | 15-05-2012 14:23 | |
|