Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перебор диапазона значений - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Перебор диапазона значений
Rafting Дата: Понедельник, 10.04.2017, 15:08 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день ! Подскажите если знаете. )

Как сделать в excel перебор чисел с определенным шагом. Скажем хочу задать excel найти из диапазона цифр (от 587,01 до 591,99 с шагом 0,01) число при умножении которого на число из диапазона (от 3170,01 до 3200,99 с шагом 0,01) получим результат 1886000. Важно что бы все числа были точными до сотых без применения округлений. Т.е числа в которых после запятой встречаются цифры дальше сотых неприемлемы но и округления применять нельзя.

Заранее благодарен за ответ !
 
Ответить
СообщениеДобрый день ! Подскажите если знаете. )

Как сделать в excel перебор чисел с определенным шагом. Скажем хочу задать excel найти из диапазона цифр (от 587,01 до 591,99 с шагом 0,01) число при умножении которого на число из диапазона (от 3170,01 до 3200,99 с шагом 0,01) получим результат 1886000. Важно что бы все числа были точными до сотых без применения округлений. Т.е числа в которых после запятой встречаются цифры дальше сотых неприемлемы но и округления применять нельзя.

Заранее благодарен за ответ !

Автор - Rafting
Дата добавления - 10.04.2017 в 15:08
sboy Дата: Понедельник, 10.04.2017, 15:52 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Данные-Анализ-Поиск Решения


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
Данные-Анализ-Поиск Решения

Автор - sboy
Дата добавления - 10.04.2017 в 15:52
Rafting Дата: Вторник, 11.04.2017, 12:49 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Вы имеете ввиду "Данные-Анализ-Подбор параметров" ?
Если да то возникает вопрос. Как в строчке "Значение" указать что число может быть любым НО все цифры после сотых должны быть "НУЛИ" Я пробовал так *,**0000000 в результате excel ругается.
 
Ответить
СообщениеВы имеете ввиду "Данные-Анализ-Подбор параметров" ?
Если да то возникает вопрос. Как в строчке "Значение" указать что число может быть любым НО все цифры после сотых должны быть "НУЛИ" Я пробовал так *,**0000000 в результате excel ругается.

Автор - Rafting
Дата добавления - 11.04.2017 в 12:49
_Boroda_ Дата: Вторник, 11.04.2017, 13:28 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Rafting, опишите немного поподробнее хотелку. Что в итоге получить нужно? И почему именно так?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеRafting, опишите немного поподробнее хотелку. Что в итоге получить нужно? И почему именно так?

Автор - _Boroda_
Дата добавления - 11.04.2017 в 13:28
Gustav Дата: Вторник, 11.04.2017, 13:33 | Сообщение № 5
Группа: Админы
Ранг: Участник клуба
Сообщений: 2770
Репутация: 1140 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Да сделайте обыкновенную "таблицу умножения": в ячейки B1:SF1 с шагом 0,01 протяните 499 значений от 587,01 до 591,99 (колонки), в ячейки A2:A3100 - 3099 значений от 3170,01 до 3200,99. В ячейку B2 - формулу =$A2*B$1 и протяните на весь диапазон B2:SF3100. Дальше обычный Поиск (по Ctrl+F) и ищем значение 1886000.

Показал бы в файле, но файл получился 23 мегабайта. Но в принципе я всё и так рассказал.

P.S. Можно подсветить результаты условным форматированием с формулой: =ЦЕЛОЕ(B2)=1886000 . У меня поиском по кнопке "Найти все" нашлась 51 ячейка (в одной, правда, чуть меньше 1885999,9964, но поскольку отображалась как искомая строка, то тоже поучаствовала). Это было при ширине колонок 80 пикселей. А если увеличить ширину до, скажем, 100 пикселей (при этом в ячейках будут видны 3 знака после запятой), то останутся 50 честных вариантов.


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Вторник, 11.04.2017, 14:07
 
Ответить
СообщениеДа сделайте обыкновенную "таблицу умножения": в ячейки B1:SF1 с шагом 0,01 протяните 499 значений от 587,01 до 591,99 (колонки), в ячейки A2:A3100 - 3099 значений от 3170,01 до 3200,99. В ячейку B2 - формулу =$A2*B$1 и протяните на весь диапазон B2:SF3100. Дальше обычный Поиск (по Ctrl+F) и ищем значение 1886000.

Показал бы в файле, но файл получился 23 мегабайта. Но в принципе я всё и так рассказал.

P.S. Можно подсветить результаты условным форматированием с формулой: =ЦЕЛОЕ(B2)=1886000 . У меня поиском по кнопке "Найти все" нашлась 51 ячейка (в одной, правда, чуть меньше 1885999,9964, но поскольку отображалась как искомая строка, то тоже поучаствовала). Это было при ширине колонок 80 пикселей. А если увеличить ширину до, скажем, 100 пикселей (при этом в ячейках будут видны 3 знака после запятой), то останутся 50 честных вариантов.

Автор - Gustav
Дата добавления - 11.04.2017 в 13:33
Rafting Дата: Вторник, 11.04.2017, 14:05 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Я уже делал как предлагает Gustav в итоге тратится очень много времени.

Конкретное описание хотелки:

Получаю смету на определенную сумму 1 886 000
Площадь работ по смете 3200 кв.м
Когда заношу данные в электронную систему, система выводит цену за 1 кв.метр равную 1 886 000/3200 = 589,38 (цифра округляется, реальный же результат 589,375. Система выводит значение до сотых) В дальнейшем система начинает ругаться на то что 3200*589,38 не равно 1 886 000. Допустимо менять значения 3200 и 589,38 в небольшом диапазоне. Главное что бы при умножении двух значений получался конкретный результат 1 886 000.
Так как задача регулярная, ищу способ как задать excel цифру которую нужно получить путем умножения числа X на Y. где X - это диапазон значений от 3100,00 до 3300,00 с шагом 0,01 а Y - это диапазон значений от 560,00 до 600,00 с шагом 0,01
Надеюсь понятно объяснил. Заранее благодарю за ответ.
 
Ответить
СообщениеЯ уже делал как предлагает Gustav в итоге тратится очень много времени.

Конкретное описание хотелки:

Получаю смету на определенную сумму 1 886 000
Площадь работ по смете 3200 кв.м
Когда заношу данные в электронную систему, система выводит цену за 1 кв.метр равную 1 886 000/3200 = 589,38 (цифра округляется, реальный же результат 589,375. Система выводит значение до сотых) В дальнейшем система начинает ругаться на то что 3200*589,38 не равно 1 886 000. Допустимо менять значения 3200 и 589,38 в небольшом диапазоне. Главное что бы при умножении двух значений получался конкретный результат 1 886 000.
Так как задача регулярная, ищу способ как задать excel цифру которую нужно получить путем умножения числа X на Y. где X - это диапазон значений от 3100,00 до 3300,00 с шагом 0,01 а Y - это диапазон значений от 560,00 до 600,00 с шагом 0,01
Надеюсь понятно объяснил. Заранее благодарю за ответ.

Автор - Rafting
Дата добавления - 11.04.2017 в 14:05
_Boroda_ Дата: Вторник, 11.04.2017, 14:24 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Вам нужно ровно 1 886 000 или подойдет и 1 886 000,49 или 1 885 999,51?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВам нужно ровно 1 886 000 или подойдет и 1 886 000,49 или 1 885 999,51?

Автор - _Boroda_
Дата добавления - 11.04.2017 в 14:24
Rafting Дата: Вторник, 11.04.2017, 14:35 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Ровно 1 886 000
 
Ответить
СообщениеРовно 1 886 000

Автор - Rafting
Дата добавления - 11.04.2017 в 14:35
pabchek Дата: Вторник, 11.04.2017, 15:24 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 931
Репутация: 218 ±
Замечаний: 0% ±

Excel 2007
округления применять нельзя

Насколько я знаю, перемножение двух десятичных дробей (или чисел со знаками после запятой) в принципе не может дать целое число. Соответственно, одно из чисел обязательно должно быть целым. А второе, если оно дробное, должно быть кратным целому делителю. Если точность два знака после запятой, соответственно целые делители числа 10000 (их 25).


"Учиться, учиться и еще раз учиться!"
WM: R399923528092


Сообщение отредактировал pabchek - Вторник, 11.04.2017, 15:42
 
Ответить
Сообщение
округления применять нельзя

Насколько я знаю, перемножение двух десятичных дробей (или чисел со знаками после запятой) в принципе не может дать целое число. Соответственно, одно из чисел обязательно должно быть целым. А второе, если оно дробное, должно быть кратным целому делителю. Если точность два знака после запятой, соответственно целые делители числа 10000 (их 25).

Автор - pabchek
Дата добавления - 11.04.2017 в 15:24
Gustav Дата: Вторник, 11.04.2017, 15:36 | Сообщение № 10
Группа: Админы
Ранг: Участник клуба
Сообщений: 2770
Репутация: 1140 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Я уже делал как предлагает Gustav в итоге тратится очень много времени.

Возьмите такой элементарный макрос - времени совсем немного, но не знаю, насколько устроит ответ
[vba]
Код
Sub podbor()
    Dim i, j, mult, delt, mini, summ, imin, jmin
       
    summ = 1886000
    mini = summ
        
    For i = 587.01 To 591.99 Step 0.01
        For j = 3170.01 To 3200.99 Step 0.01
                
            mult = Round(i, 2) * Round(j, 2)
                
            delt = Abs(mult - summ)
            If delt < mini Then
                mini = delt
                imin = i
                jmin = j
            End If
        Next j
    Next i
    Debug.Print Round(imin, 2), Round(jmin, 2), Round(imin, 2) * Round(jmin, 2), mini
End Sub
[/vba]Ответ такой:
[vba]
Код
589,48        3199,43       1885999,9964                3,59999993816018E-03
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Я уже делал как предлагает Gustav в итоге тратится очень много времени.

Возьмите такой элементарный макрос - времени совсем немного, но не знаю, насколько устроит ответ
[vba]
Код
Sub podbor()
    Dim i, j, mult, delt, mini, summ, imin, jmin
       
    summ = 1886000
    mini = summ
        
    For i = 587.01 To 591.99 Step 0.01
        For j = 3170.01 To 3200.99 Step 0.01
                
            mult = Round(i, 2) * Round(j, 2)
                
            delt = Abs(mult - summ)
            If delt < mini Then
                mini = delt
                imin = i
                jmin = j
            End If
        Next j
    Next i
    Debug.Print Round(imin, 2), Round(jmin, 2), Round(imin, 2) * Round(jmin, 2), mini
End Sub
[/vba]Ответ такой:
[vba]
Код
589,48        3199,43       1885999,9964                3,59999993816018E-03
[/vba]

Автор - Gustav
Дата добавления - 11.04.2017 в 15:36
_Boroda_ Дата: Вторник, 11.04.2017, 15:46 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
А 188600,0049 тоже не подойдет? Или таки да? Иначе решение Вашей задачи в указанных диапазонах отсутствует

Gustav, у меня аналогичный результат beer , только формулами.

Предупреждаю - без фанатизма. Если плюс-минус много ввести, то расчет сжирает все ресурсы
К сообщению приложен файл: 1867565786_3.xlsm (11.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА 188600,0049 тоже не подойдет? Или таки да? Иначе решение Вашей задачи в указанных диапазонах отсутствует

Gustav, у меня аналогичный результат beer , только формулами.

Предупреждаю - без фанатизма. Если плюс-минус много ввести, то расчет сжирает все ресурсы

Автор - _Boroda_
Дата добавления - 11.04.2017 в 15:46
Rafting Дата: Вторник, 11.04.2017, 15:47 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Ответ нужен именно 1 886 000. Спасибо за макрос.
Я ищу вариант решения именно через excel. конечно если это вообще реально.
 
Ответить
СообщениеОтвет нужен именно 1 886 000. Спасибо за макрос.
Я ищу вариант решения именно через excel. конечно если это вообще реально.

Автор - Rafting
Дата добавления - 11.04.2017 в 15:47
Rafting Дата: Вторник, 11.04.2017, 15:50 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо за файл, буду разбираться что и как.
 
Ответить
СообщениеСпасибо за файл, буду разбираться что и как.

Автор - Rafting
Дата добавления - 11.04.2017 в 15:50
Gustav Дата: Вторник, 11.04.2017, 15:58 | Сообщение № 14
Группа: Админы
Ранг: Участник клуба
Сообщений: 2770
Репутация: 1140 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
именно 1 886 000

В указанных диапазонах при ограничении 2-х знаков - нереально. Как видите, минимальное расстояние, на которое удается подойти к этой величине - 0,0036. Ближе не подойти.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
именно 1 886 000

В указанных диапазонах при ограничении 2-х знаков - нереально. Как видите, минимальное расстояние, на которое удается подойти к этой величине - 0,0036. Ближе не подойти.

Автор - Gustav
Дата добавления - 11.04.2017 в 15:58
pabchek Дата: Вторник, 11.04.2017, 16:04 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 931
Репутация: 218 ±
Замечаний: 0% ±

Excel 2007
Прошу прощения за повторное цитирование.
перемножение двух десятичных дробей (или чисел со знаками после запятой) в принципе не может дать целое число

И поэтому решением задачи могут быть либо только целые числа, Либо кратные целому делителю


"Учиться, учиться и еще раз учиться!"
WM: R399923528092
 
Ответить
СообщениеПрошу прощения за повторное цитирование.
перемножение двух десятичных дробей (или чисел со знаками после запятой) в принципе не может дать целое число

И поэтому решением задачи могут быть либо только целые числа, Либо кратные целому делителю

Автор - pabchek
Дата добавления - 11.04.2017 в 16:04
Rafting Дата: Среда, 12.04.2017, 07:19 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Указанные диапазоны просто как примеры. По большому счету нужна таблица в которую забиваю значения диапазонов и получаю нужный результат. Хотелось бы научится делать самостоятельно. (не знаю хватит ли на это своих знаний)
 
Ответить
СообщениеУказанные диапазоны просто как примеры. По большому счету нужна таблица в которую забиваю значения диапазонов и получаю нужный результат. Хотелось бы научится делать самостоятельно. (не знаю хватит ли на это своих знаний)

Автор - Rafting
Дата добавления - 12.04.2017 в 07:19
_Boroda_ Дата: Среда, 12.04.2017, 09:07 | Сообщение № 17
Группа: Админы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
нужна таблица в которую забиваю значения диапазонов и получаю нужный результат

А я Вам что сделал? Вы смотрели мой файл вообще?
И Gustav тоже. Правда, не в файле, но это уже детали


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
нужна таблица в которую забиваю значения диапазонов и получаю нужный результат

А я Вам что сделал? Вы смотрели мой файл вообще?
И Gustav тоже. Правда, не в файле, но это уже детали

Автор - _Boroda_
Дата добавления - 12.04.2017 в 09:07
Rafting Дата: Среда, 12.04.2017, 12:26 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Еще раз спасибо _Boroda_. Мой ответ был дан для Gustav.
 
Ответить
СообщениеЕще раз спасибо _Boroda_. Мой ответ был дан для Gustav.

Автор - Rafting
Дата добавления - 12.04.2017 в 12:26
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!