Формула в excel случмежду как сделать так чтобы перестали изменяться
Содержание
15K
08 января 2007 года
olen
11 / / 04.04.2006
Спасибо огромное — всё работает как надо.
Правда появилось пара ламерских вопросов:
1. как сделать так чтобы этот макрос автоматом запускался 1 раз при открытии книги?
2. Все значения в нескольких ячейках получаются одинаковыми 🙁 мне это не подходит — надо чтобы были разные.
Ещё решил попробовать сделать значения рандомных чисел зависимым от значений чисел в других ячейках — как это сделать?
Попробовал написать так —
Sub GetRandom()
Randomize
If ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«E19») > 5 Then
ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«F19»).Value = Rnd * 0.06 — 0.03
If ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«E19») < 5 Then
ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«F19»).Value = Rnd * 0.04 — 0.03
If ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«E20») > 5 Then
ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«F20»).Value = Rnd * 0.06 — 0.03
If ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«E20») < 5 Then
ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«F20»).Value = Rnd * 0.04 — 0.03
If ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«E21») > 5 Then
ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«F21»).Value = Rnd * 0.06 — 0.03
If ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«E21») < 5 Then
ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«F21»).Value = Rnd * 0.04 — 0.03
If ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«E22») > 5 Then
ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«F22»).Value = Rnd * 0.06 — 0.03
If ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«E22») < 5 Then
ThisWorkbook.Worksheets(«ÅÃÐÇ»).Range(«F22»).Value = Rnd * 0.04 — 0.03
End If
End Sub
Но ВБ при этом ругается 🙁
У нас есть последовательность чисел, состоящая из практически независимых элементов, которые подчиняются заданному распределению. Как правило, равномерному распределению.
Сгенерировать случайные числа в Excel можно разными путями и способами. Рассмотрим только лучше из них.
Функция случайного числа в Excel
- Функция СЛЧИС возвращает случайное равномерно распределенное вещественное число. Оно будет меньше 1, больше или равно 0.
- Функция СЛУЧМЕЖДУ возвращает случайное целое число.
Рассмотрим их использование на примерах.
Выборка случайных чисел с помощью СЛЧИС
Данная функция аргументов не требует (СЛЧИС()).
Чтобы сгенерировать случайное вещественное число в диапазоне от 1 до 5, например, применяем следующую формулу: =СЛЧИС()*(5-1)+1.
Возвращаемое случайное число распределено равномерно на интервале .
При каждом вычислении листа или при изменении значения в любой ячейке листа возвращается новое случайное число. Если нужно сохранить сгенерированную совокупность, можно заменить формулу на ее значение.
- Щелкаем по ячейке со случайным числом.
- В строке формул выделяем формулу.
- Нажимаем F9. И ВВОД.
Проверим равномерность распределения случайных чисел из первой выборки с помощью гистограммы распределения.
- Сформируем «карманы». Диапазоны, в пределах которых будут находиться значения. Первый такой диапазон – 0-0,1. Для следующих – формула =C2+$C$2.
- Определим частоту для случайных чисел в каждом диапазоне. Используем формулу массива {=ЧАСТОТА(A2:A201;C2:C11)}.
- Сформируем диапазоны с помощью знака «сцепления» (=»»).
- Строим гистограмму распределения 200 значений, полученных с помощью функции СЛЧИС ().
Диапазон вертикальных значений – частота. Горизонтальных – «карманы».
Функция СЛУЧМЕЖДУ
Синтаксис функции СЛУЧМЕЖДУ – (нижняя граница; верхняя граница). Первый аргумент должен быть меньше второго. В противном случае функция выдаст ошибку. Предполагается, что границы – целые числа. Дробную часть формула отбрасывает.
Пример использования функции:
Случайные числа с точностью 0,1 и 0,01:
Как сделать генератор случайных чисел в Excel
Сделаем генератор случайных чисел с генерацией значения из определенного диапазона. Используем формулу вида: =ИНДЕКС(A1:A10;ЦЕЛОЕ(СЛЧИС()*10)+1).
Сделаем генератор случайных чисел в диапазоне от 0 до 100 с шагом 10.
Из списка текстовых значений нужно выбрать 2 случайных. С помощью функции СЛЧИС сопоставим текстовые значения в диапазоне А1:А7 со случайными числами.
Воспользуемся функцией ИНДЕКС для выбора двух случайных текстовых значений из исходного списка.
Чтобы выбрать одно случайное значение из списка, применим такую формулу: =ИНДЕКС(A1:A7;СЛУЧМЕЖДУ(1;СЧЁТЗ(A1:A7))).
Генератор случайных чисел нормального распределения
Функции СЛЧИС и СЛУЧМЕЖДУ выдают случайные числа с единым распределением. Любое значение с одинаковой долей вероятности может попасть в нижнюю границу запрашиваемого диапазона и в верхнюю. Получается огромный разброс от целевого значения.
Нормальное распределение подразумевает близкое положение большей части сгенерированных чисел к целевому. Подкорректируем формулу СЛУЧМЕЖДУ и создадим массив данных с нормальным распределением.
Себестоимость товара Х – 100 рублей. Вся произведенная партия подчиняется нормальному распределению. Случайная переменная тоже подчиняется нормальному распределению вероятностей.
При таких условиях среднее значение диапазона – 100 рублей. Сгенерируем массив и построим график с нормальным распределением при стандартном отклонении 1,5 рубля.
Используем функцию: =НОРМОБР(СЛЧИС();100;1,5).
Программа Excel посчитала, какие значения находятся в диапазоне вероятностей. Так как вероятность производства товара с себестоимостью 100 рублей максимальная, формула показывает значения близкие к 100 чаще, чем остальные.
Перейдем к построению графика. Сначала нужно составить таблицу с категориями. Для этого разобьем массив на периоды:
- Определим минимальное и максимальное значение в диапазоне с помощью функций МИН и МАКС.
- Укажем величину каждого периода либо шаг. В нашем примере – 1.
- Количество категорий – 10.
- Нижняя граница таблицы с категориями – округленное вниз ближайшее кратное число. В ячейку Н1 вводим формулу =ОКРВНИЗ(E1;E5).
- В ячейке Н2 и последующих формула будет выглядеть следующим образом: =ЕСЛИ(G2;H1+$E$5;»»). То есть каждое последующее значение будет увеличено на величину шага.
- Посчитаем количество переменных в заданном промежутке. Используем функцию ЧАСТОТА. Формула будет выглядеть так:
На основе полученных данных сможем сформировать диаграмму с нормальным распределением. Ось значений – число переменных в промежутке, ось категорий – периоды.
График с нормальным распределением готов. Как и должно быть, по форме он напоминает колокол.
Сделать то же самое можно гораздо проще. С помощью пакета «Анализ данных». Выбираем «Генерацию случайных чисел».
О том как подключить стандартную настройку «Анализ данных» читайте здесь.
Заполняем параметры для генерации. Распределение – «нормальное».
Жмем ОК. Получаем набор случайных чисел. Снова вызываем инструмент «Анализ данных». Выбираем «Гистограмма». Настраиваем параметры. Обязательно ставим галочку «Вывод графика».
Получаем результат:
Скачать генератор случайных чисел в Excel
График с нормальным распределением в Excel построен.
Если речь идёт о генерации случайных чисел, Excel предлагает две полезные функции: RAND (СЛЧИС) и RANDBETWEEN (СЛУЧМЕЖДУ).
СЛЧИС
Функция RAND (СЛЧИС) генерирует случайное десятичное число между 0 и 1.
- Выделите ячейку A1.
- Введите следующую формулу и нажмите Enter.
=RAND()
=СЛЧИС()
Функция RAND (СЛЧИС) не принимает аргументов.
- Чтобы создать список случайных чисел, выделите ячейку A1, зажмите её нижний правый угол и потяните его вниз.
Обратите внимание, что значение в ячейке A1 изменилось. Это случилось потому, что случайные числа меняются каждый раз, когда программа производит пересчёт.
- Если вы не хотите этого, просто скопируйте случайные числа и вставьте их как значения.
- Выберите ячейку C1 и посмотрите на строку формул. Теперь в этой ячейке прописано значение, а не функция RAND (СЛЧИС).
СЛУЧМЕЖДУ
Функция RANDBETWEEN (СЛУЧМЕЖДУ) возвращает случайное целое число между двумя границами.
- Выделите ячейку A1.
- Введите формулу ниже и нажмите Enter.
=RANDBETWEEN(50,75)
=СЛУЧМЕЖДУ(50;75)
Если вы хотите сгенерировать ряд не целых чисел между 50 и 75, используйте следующую формулу:
=50+25*RAND()
=50+25*СЛЧИС()
Урок подготовлен для Вас командой сайта office-guru.ru
Источник: /> Перевел: Антон Андронов
Правила перепечаткиЕще больше уроков по Microsoft Excel
Оцените качество статьи. Нам важно ваше мнение:
В разделе Другие языки и технологии на вопрос Как в Excel 2003 «слегка» изменить ряд чисел? (Сейчас поясню) заданный автором Невропатолог лучший ответ это так?
С2=СЛЧИС ()*((B2*1,014)-(B2*0,986))+(B2*0,986)
Ответ от
2 ответа
Привет! Вот подборка тем с ответами на Ваш вопрос: Как в Excel 2003 «слегка» изменить ряд чисел? (Сейчас поясню)
Ответ от Ноябрь
Функция СЛУЧМЕЖДУ.. . Попробуй так — =C4*СЛУЧМЕЖДУ (0,002;0,005) — результирующая ячейка. Пусть буде С6, Ячейка С4 с содежимым 0,002 и 0,005 — нижняя и верхняя граница случайного числа. У тебя будет 0,004 и 0,009
Ответ от силосовать
Попробуйте =(ячейка*(100-(0,7-(СЛЧИС ()))))/100 например: =(A1*(100-(0,7-(СЛЧИС ()))))/100 P.S.: Проверил, работает. Для изменения диапазона чисел результата, просто измените число «0,7». «СЛЧИС ()» дает случайное число от 0 до 1
Ответ от ?????? ????r?????u
вы там не данные от скважин обрабатываете?
Ответ от
2 ответа
Привет! Вот еще темы с нужными ответами:
Если речь идёт о генерации случайных чисел, Excel предлагает две полезные функции: RAND (СЛЧИС) и RANDBETWEEN (СЛУЧМЕЖДУ).
СЛЧИС
Функция RAND (СЛЧИС) генерирует случайное десятичное число между 0 и 1.
- Выделите ячейку A1.
- Введите следующую формулу и нажмите Enter.
=RAND()
=СЛЧИС()
Функция RAND (СЛЧИС) не принимает аргументов.
- Чтобы создать список случайных чисел, выделите ячейку A1, зажмите её нижний правый угол и потяните его вниз.
Обратите внимание, что значение в ячейке A1 изменилось. Это случилось потому, что случайные числа меняются каждый раз, когда программа производит пересчёт.
- Если вы не хотите этого, просто скопируйте случайные числа и вставьте их как значения.
- Выберите ячейку C1 и посмотрите на строку формул. Теперь в этой ячейке прописано значение, а не функция RAND (СЛЧИС).
СЛУЧМЕЖДУ
Функция RANDBETWEEN (СЛУЧМЕЖДУ) возвращает случайное целое число между двумя границами.
- Выделите ячейку A1.
- Введите формулу ниже и нажмите Enter.
=RANDBETWEEN(50,75)
=СЛУЧМЕЖДУ(50;75)
Если вы хотите сгенерировать ряд не целых чисел между 50 и 75, используйте следующую формулу:
=50+25*RAND()
=50+25*СЛЧИС()
Урок подготовлен для Вас командой сайта office-guru.ru
Источник: /> Перевел: Антон Андронов
Правила перепечаткиЕще больше уроков по Microsoft Excel
Оцените качество статьи. Нам важно ваше мнение: