Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2016, 12:46   #1
Andrey_Economist
Новичок
Джуниор
 
Регистрация: 25.08.2016
Сообщений: 2
По умолчанию Как подогнать сумму

Добрый день, господа!
Очередной вопрос для знатоков: нужен понятный алгоритм перебора различных вариантов цены, в сумме которые давали бы Общую искомую сумму.
Задача выйти на искомую сумму, изменяя только цифры в столбце Е (в указанном диапазоне, строго 2 знака после запятой).
В таблице указал желаемый интервал.
Надеюсь на вашу помощь, хочу понять как работает поиск решения или другие варианты, и сделать шаблон на будущее
Вложения
Тип файла: xlsx Новый подбор.xlsx (9.7 Кб, 16 просмотров)
Andrey_Economist вне форума Ответить с цитированием
Старый 25.08.2016, 12:56   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Надеюсь на вашу помощь
напрасно, задача не имеет решения
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 25.08.2016, 13:30   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

как выразился коллега в соседней теме
Цитата:
Чтобы не быть голословным
Имеем тождество: С*Е = Х
если мы С умножим на 100, а Е разделим на 100 тождество не сломается?
100С*Е/100 = Х
в колонке Е были действительные числа с 2 знаками после запятой, умножив их на 100 - получаем ЦЕЛЫЕ числа
разделив на 100, все что видим в колонке С (1500, 400, 1500, 1900), тоже получим ЦЕЛЫЕ числа (15, 4, 15, 19)

а теперь внимание!
назовите два таких ЛЮБЫХ ЦЕЛЫХ числа умножив, которые друг на друга, мы получим действительное число Х целых, 7 десятых?

понимаете? не возможно из букв П, О, Ж, А сложить слово ВЕЧНОСТЬ
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.08.2016, 07:33   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
...не возможно из букв П, О, Ж, А сложить слово ВЕЧНОСТЬ
Ну, зачем Вы так...
Код:
Option Base 1
Sub qq()
    Dim x As String, y As String, i As Integer, j As Integer, a
    x = "ПОЖА" 'Исходные
    a = Array(-13, -9, 17, 13, -1, 3, 12, 28)
    For i = 1 To Len(x) * 2
        j = IIf(i > Len(x), i - Len(x), i)
        y = y & Chr(Asc(Mid$(x, j, 1)) + a(i))
    Next
    MsgBox y 'Результат
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 26.08.2016, 08:22   #5
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Кросс:
http://www.excel-vba.ru/forum/index.php?topic=4262.0
http://perfect-excel.ru/forum/7-53-1
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 26.08.2016, 16:07   #6
Andrey_Economist
Новичок
Джуниор
 
Регистрация: 25.08.2016
Сообщений: 2
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
как выразился коллега в соседней теме
Имеем тождество: С*Е = Х
если мы С умножим на 100, а Е разделим на 100 тождество не сломается?
100С*Е/100 = Х
в колонке Е были действительные числа с 2 знаками после запятой, умножив их на 100 - получаем ЦЕЛЫЕ числа
разделив на 100, все что видим в колонке С (1500, 400, 1500, 1900), тоже получим ЦЕЛЫЕ числа (15, 4, 15, 19)

а теперь внимание!
назовите два таких ЛЮБЫХ ЦЕЛЫХ числа умножив, которые друг на друга, мы получим действительное число Х целых, 7 десятых?

понимаете? не возможно из букв П, О, Ж, А сложить слово ВЕЧНОСТЬ
спасибо за ответ
Andrey_Economist вне форума Ответить с цитированием
Старый 26.08.2016, 16:54   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

на perfect-excel предложено решение с разделением количества товаров на группы
(например, 1500 - это 1499 единиц по одной цене и 1 единица по другой цене.
с помощью этой позиции можно скорректировать "Итого".
Вложения
Тип файла: xlsx 1645157.xlsx (10.6 Кб, 22 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.08.2016, 17:02   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Однако!

замечательный пример того, что значит искать решение
вместо того, чтобы убедить себя в отсутствии решения и даже не пытаться...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.08.2016, 10:25   #9
astakhov12
Новичок
Джуниор
 
Аватар для astakhov12
 
Регистрация: 28.08.2016
Сообщений: 2
По умолчанию

в данном случае все изначально было понятно
astakhov12 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подогнать ширину столбца комбобокса под текст? Скрипт Win Api 2 15.03.2015 11:02
Кнопка с выбором файла в Firefox - как подогнать размеры под высоту картинки ? boraldo HTML и CSS 0 06.08.2012 00:21
Подогнать фон в ХТМЛ bead HTML и CSS 3 08.12.2010 16:48
как подогнать форму под другой монитор deadneoo Компоненты Delphi 6 30.04.2010 22:22
Как подогнать содержимое ячейки по высоте ПУГВ HTML и CSS 4 28.03.2009 18:19