Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - макрос для генерации значений по условиям

Ответить
Настройки темы
2010 - макрос для генерации значений по условиям

Пользователь


Сообщения: 77
Благодарности: 2

Профиль | Отправить PM | Цитировать


Помогите, пожалуйста на VBA написать один скрипт, который генерирует значения по определенным условиям:
Например
Пусть есть переменные и их значения a,b,c
пол X1,X2,X3
м a a a
ж b b b
ж c c c
Нужно сгенирировать значения, но так, чтобы соблюдались пропорции только в случайном порядке:
например 30% мужчин в переменной X1 поставили ответ а, 40% мужчин поставили ответ b и ещё 30% мужчин поставили ответ с
при этом
20% женщин в переменной X1 поставили ответ а, 65% женщин поставили ответ b и ещё 25% женщин поставили ответ с
Аналогично и с другими переменными, их может быть несколько.

Надо просто чтобы в самом годе было написано
пол=200 человек
переменная x1, пусть имеет пять градаций а,б,в,г,Д
градация а=5%мужчин, 25%женищин.
градация б=10% мужчин и 45% женщин
...

Помогите, плиз такое сделать.

Отправлено: 10:28, 29-11-2015

 

Модератор


Moderator


Сообщения: 16831
Благодарности: 3245

Профиль | Сайт | Отправить PM | Цитировать


Может вы лучше сначала конечную цель обозначите, а то процесс как-то не очень понятен...

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге


Отправлено: 18:07, 29-11-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 77
Благодарности: 2

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: xlsx сгенирированные данные.xlsx
(8.8 Kb, 3 просмотров)

okshef, конечный итог это эксель со сгенирированными по тем условиям данными, т.е. я могла бы задавать процентную пропорцию в ответах
например так.

Отправлено: 13:48, 30-11-2015 | #3


Модератор


Moderator


Сообщения: 16831
Благодарности: 3245

Профиль | Сайт | Отправить PM | Цитировать


Давайте так, я начну уточнять, а вы поправляете:
1. Все условные мужчины (М) и женщины (Ж) - это столбец А. Общее количество - 200, 100 - М, 100 - Ж
2. Столбцы В и дальше вправо - переменные Х1, Х2 ... ХN
3. "Ответы", которые собираются по столбцам, могут иметь значения от "А" до "Д" (или от "А" до "Е" - в латинских символах)
4. При подсчете одинаковых ответов в некоем столбце XN вы получаете пропорцию. Обозначим ее, например, так:
Рма - пропорция (%) ответов "А" у М
Ржд - % ответов "Д" у Ж

Задача: задавая значения Р (они будут находится в некоторых 10 ячейках) вы хотите, чтобы поле ячеек массив В2:XN201) заполнялось случайными значениями от "А" до "Д" (или от "А" до "Е")?

Так?

Сразу непонятки:
Для задания пропорций для одного столбца нужно 10 ячеек, для другого - еще десять, третьего - еще, и т.д. Вам сразу нужно или только для одного столбца? А для какого?

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге


Последний раз редактировалось okshef, 30-11-2015 в 23:06.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:01, 30-11-2015 | #4


Пользователь


Сообщения: 77
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата okshef:
1. Все условные мужчины (М) и женщины (Ж) - это столбец А. Общее количество - 200, 100 - М, 100 - Ж »
верно, но
1. общее количество может быть любым, например 300, 210 мужчин и 90 женщин. Плюс мужчины и женщины это 2 градации, а может быть несколько градаций. Например слабый, умеренный, сильный. Я думаю вы поняли, что это качественный признак.

Цитата okshef:
2. Столбцы В и дальше вправо - переменные Х1, Х2 ... ХN »
да

Цитата okshef:
3. "Ответы", которые собираются по столбцам, могут иметь значения от "А" до "Д" (или от "А" до "Е" - в латинских символах) »
варианты ответов могут быть разными и принимать значения от А-Z от А-Я от 1 до ∞, или вообщем словом: елка, береза, сосна.........
Цитата okshef:
4. При подсчете одинаковых ответов в некоем столбце XN вы получаете пропорцию. Обозначим ее, например, так:
Рма - пропорция (%) ответов "А" у М
Ржд - % ответов "Д" у Ж »
Цитата okshef:
Задача: задавая значения Р (они будут находится в некоторых 10 ячейках) вы хотите, чтобы поле ячеек массив В2:XN201) заполнялось случайными значениями от "А" до "Д" (или от "А" до "Е")?
Так? »
верно, значения случайные ,но пропорции совпадают. т.е. пусть диапазон ответов А-Д:, 20% ответов А у М и например 40% ответов Д у Ж и так далее.

Цитата okshef:
Для задания пропорций для одного столбца нужно 10 ячеек, для другого - еще десять, третьего - еще, и т.д. Вам сразу нужно или только для одного столбца? А для какого? »
нужно сразу для всех
т.е. как-то так. Знала бы VBA не просила бы помочь)
задать пропорции
Пол&X1 , м=49% (где м это любая категория может быть, а не только мужчину, т.к. это зависит от смысла категориальной переменной) ответ а, 51% = б.
ж=10% ответ А, 90% ответ Б.. Если 4 варианта ответа, то 20% женщин поставили А, 40% поставили Б, 25%=с, и 15% = д, к примеру.
Пол&X2 аналогично
Пол&X3

Вот так

Отправлено: 13:15, 01-12-2015 | #5


Модератор


Moderator


Сообщения: 16831
Благодарности: 3245

Профиль | Сайт | Отправить PM | Цитировать


Прежде чем приступать к программированию, нужна математическая модель, которой, увы, пока нет и, похоже, не предвидится... Вы пытаетесь решить уравнение с бесконечным количеством неизвестных:
Цитата Elizavetta:
варианты ответов могут быть разными и принимать значения от А-Z от А-Я от 1 до ∞ »
Цитата Elizavetta:
нужно сразу для всех »
А еще вы пытаетесь поставить телегу впереди лошади: не обрабатывать ответы, а, исходя из пропорций, задаваемых непонятно каким образом, получить их из бесконечного количества возможных. Я лично не знаю как сгенерить бесконечность в заданных пропорциях.
Может кто-то еще попытается разобраться, мне не под силу. Признаю.

-------
При заполнении сведений о конфигурации компьютера не забудь поставить флажок: отображать - "Да"
-------------------------------------------------------------------------------------------
Ассоциация VirusNet - помощь и обучение борьбе с вирусами. Некоторые вопросы загрузки в моем блоге


Отправлено: 23:02, 01-12-2015 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата okshef:
Может кто-то еще попытается разобраться, мне не под силу. Признаю. »
Вы, наверное, шутите. Я, вот, скажем, вообще не смог даже осмыслить ТЗ .

Отправлено: 00:59, 02-12-2015 | #7


Пользователь


Сообщения: 77
Благодарности: 2

Профиль | Отправить PM | Цитировать


Я не имела ввиду ,что 1 до бесконечности. Простой категорий может быть много. Давайте оставим от 1 до 100

Отправлено: 10:39, 02-12-2015 | #8


Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Цитата okshef:
еще попытается разобраться »
Прошу прощения коллеги, лично у меня ТЗ уложилось в приблизительно следующем виде:

1.Есть категории опрашиваемых людей, количество которых может быть любое, так как они между собой никак не связаны и обладают абсолютной автономностью. Например - "мужчины" и "женщины" (две категории), или там "категория1", "категория2", "категория3" (три категории по неизвестным параметрам). Может быть 10 категорий (мужчины 15-25лет, мужчины 25-35 лет, женатые/неженатые, с бородой/без бороды, по аналогии для женщин)

2. Есть некие вопросы, которые этим людям задают, они обозначаются х1, х2... хn.

3. Каждая категория может дать для каждого вопроса "х1"... "хп" ответ из заранее оговоренных вариантов - варианты "а-г" или "сосна-береза" или просто "понравилось / не понравилось".

По идее нужно ходить ногами и опрашивать этих людей, а потом рассчитать процент для каждого из ответов на каждый из вопросов для каждой категории людей.
Цитата Elizavetta:
20% женщин в переменной X1 поставили ответ а, 65% женщин поставили ответ b и ещё 25% женщин поставили ответ с »
Т.е. рассматривается только одна категория - "женщины", вопрос Х1, вариантов ответов три (а,в,с), распределились варианты в процентах 20%-65%-25%. При этом сколько всего вопросов, какое количество мужчин не имеет абсолютно никакого значения, ибо связи между этими категориями нет. Вариантов также может быть любое количество (например а-очень не понравилось, б-не понравилось, в-нейтрально, г - не очень понравилось и т.д.), но в сумме для каждого ответа для одной из категорий это 100% (в примере 100% для мужчин и почти 100% для женщин).

4. Задача сводится к тому, чтобы не тратить время и никого не опрашивать, принять нужное соотношение ответов для каждой категории, а затем программно подтасовать результаты, с помощью скрипта равномерно расставив нужные ответы в ячейках каждого столбца в случайном порядке (чтобы никто подтасовки не заметил) в таком количестве, чтобы заданные проценты соблюдались.

Цитата:
Нужно сгенирировать значения, но так, чтобы соблюдались пропорции только в случайном порядке
Например, если приняли, что среди детей мужского пола (фигурировать они могут как например категория 1) на вопрос Х2 ответили "да" в 40% случаев,при числе детей муж.пола 50 человек - нужно программно расставить в графе вопрос Х2 ответ "да" напротив 20 случайно выбранных строк "мальчик". Процентов типа 41.1% чисто технически получиться не может. Какое количество девочек - не имеет значения, они обсчитываются отдельно. При этом проценты должны быть назначены заранее в этой же таблице (на что указал okshef).
ИМХО как-то так.

Судя по всему - речь о курсовике, дипломе, либо НИР. Судя по предыдущему посту - из сферы медицины или педогогики/психологии детей. Надеюсь, не свидимся в реальной жизни.

Последний раз редактировалось a_axe, 02-12-2015 в 11:33.


Отправлено: 10:53, 02-12-2015 | #9


Пользователь


Сообщения: 77
Благодарности: 2

Профиль | Отправить PM | Цитировать


a_axe, это не педагогика и не медицина, это социология и это лично для меня.

Отправлено: 11:18, 02-12-2015 | #10



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - макрос для генерации значений по условиям

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Переименование файла по условиям bombording Скриптовые языки администрирования Windows 1 24-03-2014 16:17
CMD/BAT - Поиск и удаление строк в файле по сложным условиям i7allia Скриптовые языки администрирования Windows 2 30-10-2013 17:06
PowerShell - Find по разным условиям dosperados Скриптовые языки администрирования Windows 7 07-02-2012 12:14
fpdf класс для генерации pdf с помощью php zvezda_t Вебмастеру 0 29-09-2010 09:06
Вопрос - Программы для генерации и хранения паролей SashaKl Защита компьютерных систем 13 08-10-2009 15:44




 
Переход