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

Вход

Регистрация

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

 

= Мир MS Excel/Случайные числа - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Случайные числа (Формула, содержащая функцию Слчисла())
Случайные числа
Мур Дата: Вторник, 21.06.2011, 16:45 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Приветствую участников форума!
Первый раз столкнулся с функцией Слчисла(), и не понимаю как её применить под свои нужды.
Пример внутри.
К сообщению приложен файл: 3067333.xls (16.0 Kb)
 
Ответить
СообщениеПриветствую участников форума!
Первый раз столкнулся с функцией Слчисла(), и не понимаю как её применить под свои нужды.
Пример внутри.

Автор - Мур
Дата добавления - 21.06.2011 в 16:45
Serge_007 Дата: Вторник, 21.06.2011, 16:55 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Здравствуйте.

Так надо?
К сообщению приложен файл: Moore_10.xls (26.0 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЗдравствуйте.

Так надо?

Автор - Serge_007
Дата добавления - 21.06.2011 в 16:55
Alex_ST Дата: Вторник, 21.06.2011, 16:57 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Практически ваш пример здесь решался разными способами в топике случайная расстановка чисел



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеПрактически ваш пример здесь решался разными способами в топике случайная расстановка чисел

Автор - Alex_ST
Дата добавления - 21.06.2011 в 16:57
Мур Дата: Вторник, 21.06.2011, 17:00 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Не совсем то, надо чтобы числа выстроились в случайном порядке в
диапазоне (в данном случае) от 1 до 21
 
Ответить
СообщениеНе совсем то, надо чтобы числа выстроились в случайном порядке в
диапазоне (в данном случае) от 1 до 21

Автор - Мур
Дата добавления - 21.06.2011 в 17:00
Мур Дата: Вторник, 21.06.2011, 17:07 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Alex_ST
Спасибо, попытаюсь разобраться со всеми способами.
 
Ответить
СообщениеAlex_ST
Спасибо, попытаюсь разобраться со всеми способами.

Автор - Мур
Дата добавления - 21.06.2011 в 17:07
Alex_ST Дата: Вторник, 21.06.2011, 17:12 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Мур,
1. Уточните, какое вам нужно решение: формулой или макросом (функцией пользователя)?
2. В топике по предложенной ссылке приведено по крайней мере 3 разных решения. Неужели вы так быстро успели их все разобрать?
3. Если решать формулой листа, то самое сложное не сгенерить набор случайных чисел, а сделать чтобы числа не повторялись.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеМур,
1. Уточните, какое вам нужно решение: формулой или макросом (функцией пользователя)?
2. В топике по предложенной ссылке приведено по крайней мере 3 разных решения. Неужели вы так быстро успели их все разобрать?
3. Если решать формулой листа, то самое сложное не сгенерить набор случайных чисел, а сделать чтобы числа не повторялись.

Автор - Alex_ST
Дата добавления - 21.06.2011 в 17:12
Alex_ST Дата: Вторник, 21.06.2011, 17:14 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Цитата (Мур)
от 1 до 21

[vba]
Код
Sub Rnd_4_Myp()
         Const nMin& = 1
         Const nMax& = 21
         Randomize
         With CreateObject("Scripting.Dictionary")
            Do While .Count < (nMax - nMin + 1)
               .Item(Int((nMax - nMin + 1) * Rnd + nMin&)) = 0
            Loop
            ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
         End With
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 21.06.2011, 17:17
 
Ответить
Сообщение
Цитата (Мур)
от 1 до 21

[vba]
Код
Sub Rnd_4_Myp()
         Const nMin& = 1
         Const nMax& = 21
         Randomize
         With CreateObject("Scripting.Dictionary")
            Do While .Count < (nMax - nMin + 1)
               .Item(Int((nMax - nMin + 1) * Rnd + nMin&)) = 0
            Loop
            ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
         End With
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 21.06.2011 в 17:14
Serge_007 Дата: Вторник, 21.06.2011, 17:19 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Alex_ST)
В топике по предложенной ссылке приведено по крайней мере 3 разных решения. Неужели вы так быстро успели их все разобрать?

Алекс, думаю
Quote (Мур)
Не совсем то, надо чтобы числа выстроились в случайном порядке в
диапазоне (в данном случае) от 1 до 21
- это ответ мне smile


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Alex_ST)
В топике по предложенной ссылке приведено по крайней мере 3 разных решения. Неужели вы так быстро успели их все разобрать?

Алекс, думаю
Quote (Мур)
Не совсем то, надо чтобы числа выстроились в случайном порядке в
диапазоне (в данном случае) от 1 до 21
- это ответ мне smile

Автор - Serge_007
Дата добавления - 21.06.2011 в 17:19
_Boroda_ Дата: Вторник, 21.06.2011, 17:40 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Недолго думая, просто немного переделал свою формулу из топика, указанного уважаемым Алексом
К сообщению приложен файл: 21_slu.xls (22.5 Kb)


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

Автор - _Boroda_
Дата добавления - 21.06.2011 в 17:40
Мур Дата: Вторник, 21.06.2011, 18:44 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Alex_ST
Quote
Не совсем то, надо чтобы числа выстроились в случайном порядке в
диапазоне (в данном случае) от 1 до 21

Это действительно Serge_007 было. Интернет барахлит.
Вам, конечно, спасибо. Рабираюсь с предложенными топиками.
 
Ответить
СообщениеAlex_ST
Quote
Не совсем то, надо чтобы числа выстроились в случайном порядке в
диапазоне (в данном случае) от 1 до 21

Это действительно Serge_007 было. Интернет барахлит.
Вам, конечно, спасибо. Рабираюсь с предложенными топиками.

Автор - Мур
Дата добавления - 21.06.2011 в 18:44
MCH Дата: Среда, 22.06.2011, 18:09 | Сообщение № 11
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Добавлю свои варианты решения (возможно повторяюсь, т.к. не смотрел решения по предложенной ссылке)
К сообщению приложен файл: 0262175.xls (31.5 Kb)
 
Ответить
СообщениеДобавлю свои варианты решения (возможно повторяюсь, т.к. не смотрел решения по предложенной ссылке)

Автор - MCH
Дата добавления - 22.06.2011 в 18:09
Мур Дата: Четверг, 23.06.2011, 16:48 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Alex_ST, _Boroda_, Serge_007 и авторы решения с помощью функции Ранг() Michael_S и MCH, всем Вам
Большое спасибо. Мне подошло использование функции Ранг() и Слчисло().
Каждый раз узнаю много нового про Excel.
 
Ответить
СообщениеAlex_ST, _Boroda_, Serge_007 и авторы решения с помощью функции Ранг() Michael_S и MCH, всем Вам
Большое спасибо. Мне подошло использование функции Ранг() и Слчисло().
Каждый раз узнаю много нового про Excel.

Автор - Мур
Дата добавления - 23.06.2011 в 16:48
megavlom Дата: Пятница, 24.06.2011, 22:11 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 105
Репутация: 1 ±
Замечаний: 0% ±

Здравствуйте.Вопрос человека не дружного с макросами.Как в коде VBA в сообщении 7 вместо активной ячейки прописать диапазон(range).
 
Ответить
СообщениеЗдравствуйте.Вопрос человека не дружного с макросами.Как в коде VBA в сообщении 7 вместо активной ячейки прописать диапазон(range).

Автор - megavlom
Дата добавления - 24.06.2011 в 22:11
RAN Дата: Пятница, 24.06.2011, 22:23 | Сообщение № 14
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Вопрос человека, дружного с макросами. А зачем????


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВопрос человека, дружного с макросами. А зачем????

Автор - RAN
Дата добавления - 24.06.2011 в 22:23
Alex_ST Дата: Пятница, 24.06.2011, 22:29 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Вообще-то количество выводимых чисел и диапазон их значений задаётся константами
       [vba]
Код
Const nMin& = 1
            Const nMax& = 21
[/vba]
Т.е. если задано от 1 до 21 то и будет выведено 21 значение.
А сам вывод на лист осуществляется в строке[vba]
Код
ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
[/vba]
Если вам нужно выводить не начиная с ActiveCell, то вместо неё укажите ячейку, начиная с которой выводить.
Ну, например,[vba]
Код
ActiveSheet.Range("A1").Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
[/vba] выведет значения вниз начиная с ячейки А1



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 24.06.2011, 22:31
 
Ответить
СообщениеВообще-то количество выводимых чисел и диапазон их значений задаётся константами
       [vba]
Код
Const nMin& = 1
            Const nMax& = 21
[/vba]
Т.е. если задано от 1 до 21 то и будет выведено 21 значение.
А сам вывод на лист осуществляется в строке[vba]
Код
ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
[/vba]
Если вам нужно выводить не начиная с ActiveCell, то вместо неё укажите ячейку, начиная с которой выводить.
Ну, например,[vba]
Код
ActiveSheet.Range("A1").Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
[/vba] выведет значения вниз начиная с ячейки А1

Автор - Alex_ST
Дата добавления - 24.06.2011 в 22:29
megavlom Дата: Пятница, 24.06.2011, 22:42 | Сообщение № 16
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 105
Репутация: 1 ±
Замечаний: 0% ±

Уважаемый Alex ST спасибо Вам за разъяснения.Я пытался вставить диапазон В1:В15,вместо ActiveCell,а надо ячейку.Ещё раз спасибо Вам.
 
Ответить
СообщениеУважаемый Alex ST спасибо Вам за разъяснения.Я пытался вставить диапазон В1:В15,вместо ActiveCell,а надо ячейку.Ещё раз спасибо Вам.

Автор - megavlom
Дата добавления - 24.06.2011 в 22:42
Alex_ST Дата: Пятница, 24.06.2011, 22:43 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Nothing



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеNothing

Автор - Alex_ST
Дата добавления - 24.06.2011 в 22:43
Serge_007 Дата: Пятница, 24.06.2011, 22:45 | Сообщение № 18
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Alex_ST)
othing

Алекс, это не вежливо!
Правильно говорить Nevermind, (т.е. "Не за что").


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Alex_ST)
othing

Алекс, это не вежливо!
Правильно говорить Nevermind, (т.е. "Не за что").

Автор - Serge_007
Дата добавления - 24.06.2011 в 22:45
RAN Дата: Пятница, 24.06.2011, 22:52 | Сообщение № 19
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Alex_ST, по моему, megavlom пытается переложить на язык формул строку
[vba]
Код
ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
[/vba]
Но это у него не очень получается.
Поэтому, для того, чтобы дать правильный ответ, нужно правильно понять, а что надо?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеAlex_ST, по моему, megavlom пытается переложить на язык формул строку
[vba]
Код
ActiveCell.Resize(UBound(.Keys) + 1).Value = Application.WorksheetFunction.Transpose(.Keys)
[/vba]
Но это у него не очень получается.
Поэтому, для того, чтобы дать правильный ответ, нужно правильно понять, а что надо?

Автор - RAN
Дата добавления - 24.06.2011 в 22:52
Alex_ST Дата: Пятница, 24.06.2011, 22:53 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Ну, мы, наверное, инглишу в разных местах учились.
Меня учили, что на Thank you отвечают либо Nothing , либо not at all.
Но Nothing больше нодходит к макросам.
Да и к тому же Never mind - это уж скорее "неважно", "не беда", "не беспокойтесь"



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 24.06.2011, 22:56
 
Ответить
СообщениеНу, мы, наверное, инглишу в разных местах учились.
Меня учили, что на Thank you отвечают либо Nothing , либо not at all.
Но Nothing больше нодходит к макросам.
Да и к тому же Never mind - это уж скорее "неважно", "не беда", "не беспокойтесь"

Автор - Alex_ST
Дата добавления - 24.06.2011 в 22:53
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Случайные числа (Формула, содержащая функцию Слчисла())
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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