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

Вход

Регистрация

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

 

= Мир MS Excel/Выбрать 4 случайных значения, удовлетворяющих условию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Выбрать 4 случайных значения, удовлетворяющих условию
Awakum Дата: Воскресенье, 20.03.2016, 13:12 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Привет, ребят! Я пришел к вам за советом, не раз уже помогали ответы на этом форуме на работе.
Возникла нетривиальная задача. В чем суть: у каждого товара есть теги и уникальный ID, есть столбец "похожие товары". Тегов 4 столбца, один из которых исключительно для тега автора произведения (картины). Мне нужно сделать так, чтобы артикулы товаров (кроме его собственного) со схожими тегами случайным образом проставлялись в ячейке напротив каждого отдельно взятого товара. До четырех штук, это важно, больше сайт не пропускает. Пример: товар 1 имеет тэг натюрморт, его id 6; товар 2 тоже имеет тэг натюрморт, его id 7; товар 3 имеет тэг натюрморт, его id 8; товар 4 имеет тэг натюрморт, его id 9; товар 6 имеет тэг натюрморт, его id 10 - необходимо сделать так, что бы у товара 1 в похожих товарах стояли цифры 10,7,8,9; у товара 2 - 10,6,8,9, у товара 3 - 9,7,6,10 и так далее.
К сообщению приложен файл: wtg644.ods (41.7 Kb)
 
Ответить
СообщениеПривет, ребят! Я пришел к вам за советом, не раз уже помогали ответы на этом форуме на работе.
Возникла нетривиальная задача. В чем суть: у каждого товара есть теги и уникальный ID, есть столбец "похожие товары". Тегов 4 столбца, один из которых исключительно для тега автора произведения (картины). Мне нужно сделать так, чтобы артикулы товаров (кроме его собственного) со схожими тегами случайным образом проставлялись в ячейке напротив каждого отдельно взятого товара. До четырех штук, это важно, больше сайт не пропускает. Пример: товар 1 имеет тэг натюрморт, его id 6; товар 2 тоже имеет тэг натюрморт, его id 7; товар 3 имеет тэг натюрморт, его id 8; товар 4 имеет тэг натюрморт, его id 9; товар 6 имеет тэг натюрморт, его id 10 - необходимо сделать так, что бы у товара 1 в похожих товарах стояли цифры 10,7,8,9; у товара 2 - 10,6,8,9, у товара 3 - 9,7,6,10 и так далее.

Автор - Awakum
Дата добавления - 20.03.2016 в 13:12
Manyasha Дата: Понедельник, 21.03.2016, 12:55 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 901 ±
Замечаний: 0% ±

Excel 2010, 2016
Awakum, с 4 доп.столбцами и 1-й доп. строкой пойдет? :D
Вывод нужных id (в доп. столбцах)
Код
=ИНДЕКС($A$3:$A$318;НАИМЕНЬШИЙ(ЕСЛИ(($B$3:$B$318=$B3)*($A$3:$A$318<>$A3);СТРОКА($A$3:$A$318)-2;"");РАНГ(G$2;$G$2:$J$2));1)

сцепка 4 значений в одну строку:
Код
=ПСТР(ЕСЛИ(ЕЧИСЛО(G3);", "&G3;"")&ЕСЛИ(ЕЧИСЛО(H3);", "&H3;"")&ЕСЛИ(ЕЧИСЛО(I3);", "&I3;"")&ЕСЛИ(ЕЧИСЛО(J3);", "&J3;"");3;999)

[p.s.]Приложу копию в Эксель, может кто-нибудь покороче придумает.[/p.s.]
К сообщению приложен файл: openOf-example.ods (65.1 Kb) · excel-example.xlsb (46.8 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеAwakum, с 4 доп.столбцами и 1-й доп. строкой пойдет? :D
Вывод нужных id (в доп. столбцах)
Код
=ИНДЕКС($A$3:$A$318;НАИМЕНЬШИЙ(ЕСЛИ(($B$3:$B$318=$B3)*($A$3:$A$318<>$A3);СТРОКА($A$3:$A$318)-2;"");РАНГ(G$2;$G$2:$J$2));1)

сцепка 4 значений в одну строку:
Код
=ПСТР(ЕСЛИ(ЕЧИСЛО(G3);", "&G3;"")&ЕСЛИ(ЕЧИСЛО(H3);", "&H3;"")&ЕСЛИ(ЕЧИСЛО(I3);", "&I3;"")&ЕСЛИ(ЕЧИСЛО(J3);", "&J3;"");3;999)

[p.s.]Приложу копию в Эксель, может кто-нибудь покороче придумает.[/p.s.]

Автор - Manyasha
Дата добавления - 21.03.2016 в 12:55
Awakum Дата: Понедельник, 21.03.2016, 23:27 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Manyasha, вы Гений, спасибо огромное! Но можно ли сделать как-то побольше случайности? Ну, чтобы например, что в строках с 300 по 304 включительно не было такого?:
19737218, 19801905, 19773226, 19737200
19737218, 19801905, 19773226, 19737200
19737218, 19801905, 19773226, 19737200
19737218, 19801905, 19773226, 19737200
19737218, 19801905, 19773226, 19737200


Сообщение отредактировал Awakum - Вторник, 22.03.2016, 00:07
 
Ответить
СообщениеManyasha, вы Гений, спасибо огромное! Но можно ли сделать как-то побольше случайности? Ну, чтобы например, что в строках с 300 по 304 включительно не было такого?:
19737218, 19801905, 19773226, 19737200
19737218, 19801905, 19773226, 19737200
19737218, 19801905, 19773226, 19737200
19737218, 19801905, 19773226, 19737200
19737218, 19801905, 19773226, 19737200

Автор - Awakum
Дата добавления - 21.03.2016 в 23:27
Manyasha Дата: Четверг, 24.03.2016, 13:25 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 901 ±
Замечаний: 0% ±

Excel 2010, 2016
Awakum, посмотрела свои файлы и поняла, что мое решение неправильное... Возвращает только первых 4 подходящих элемента в случайном порядке, а нужно, чтобы возвращалось 4 случайных элемента из всех подходящих.

Переделала, добавились еще доп. столбцы и udf для случайных значений. Наверное можно все это как-то попроще сделать, но я не додумалась. Поэтому, получилась какая-то жесть, но вроде правильно :D

Копию для Excel тоже прикладываю (в файле .xls урезала данные, чтобы без архива влезть).
К сообщению приложен файл: excel-example-1.xls (54.0 Kb) · openOf-example-.ods (85.4 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеAwakum, посмотрела свои файлы и поняла, что мое решение неправильное... Возвращает только первых 4 подходящих элемента в случайном порядке, а нужно, чтобы возвращалось 4 случайных элемента из всех подходящих.

Переделала, добавились еще доп. столбцы и udf для случайных значений. Наверное можно все это как-то попроще сделать, но я не додумалась. Поэтому, получилась какая-то жесть, но вроде правильно :D

Копию для Excel тоже прикладываю (в файле .xls урезала данные, чтобы без архива влезть).

Автор - Manyasha
Дата добавления - 24.03.2016 в 13:25
Awakum Дата: Пятница, 25.03.2016, 14:44 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Manyasha, написал вам на e-mail.
[moder]Зачем? Прочитайте внимательно пункт 5о Правил форума![/moder]


Сообщение отредактировал Manyasha - Пятница, 25.03.2016, 14:47
 
Ответить
СообщениеManyasha, написал вам на e-mail.
[moder]Зачем? Прочитайте внимательно пункт 5о Правил форума![/moder]

Автор - Awakum
Дата добавления - 25.03.2016 в 14:44
Awakum Дата: Воскресенье, 27.03.2016, 00:55 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
К сожалению, я не смог загрузить оба ваших файла в libreoffice файл для эксель просто зависает, а для OO - ругается на вирусы в макросах и отключает их, а при отключении защиты просто выдает критическую ошибку еще на этапе загрузки. Не затруднит ли вас дополнить рабочий файл своим новым изменением? Сгенерированные ячейки со случайными id находятся в столбце J.

Не смог прикрепить файл, размер слишком большой, залил на ЯД. Так можно?
Удалено. Нарушение Правил форума
[moder]Зачем весь файл? Оставьте десяток строк для примера[/moder]


Сообщение отредактировал Pelena - Воскресенье, 27.03.2016, 08:27
 
Ответить
СообщениеК сожалению, я не смог загрузить оба ваших файла в libreoffice файл для эксель просто зависает, а для OO - ругается на вирусы в макросах и отключает их, а при отключении защиты просто выдает критическую ошибку еще на этапе загрузки. Не затруднит ли вас дополнить рабочий файл своим новым изменением? Сгенерированные ячейки со случайными id находятся в столбце J.

Не смог прикрепить файл, размер слишком большой, залил на ЯД. Так можно?
Удалено. Нарушение Правил форума
[moder]Зачем весь файл? Оставьте десяток строк для примера[/moder]

Автор - Awakum
Дата добавления - 27.03.2016 в 00:55
Awakum Дата: Воскресенье, 27.03.2016, 13:33 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Попытка №2
К сообщению приложен файл: __my-wall1.ru.ods (43.4 Kb)
 
Ответить
СообщениеПопытка №2

Автор - Awakum
Дата добавления - 27.03.2016 в 13:33
Manyasha Дата: Понедельник, 28.03.2016, 13:16 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 901 ±
Замечаний: 0% ±

Excel 2010, 2016
Awakum, проверяйте.
При открытии файла нужно обязательно нажать Включить макросы!
Чтобы скопировать формулы для случайных значений на остальные строки, нужно выделить AC2:AF2 - ctrl+с - выделить нужный диапазон в этих столбцах - ctrl+v
К сообщению приложен файл: _my-wall1.ru-1.ods (36.9 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеAwakum, проверяйте.
При открытии файла нужно обязательно нажать Включить макросы!
Чтобы скопировать формулы для случайных значений на остальные строки, нужно выделить AC2:AF2 - ctrl+с - выделить нужный диапазон в этих столбцах - ctrl+v

Автор - Manyasha
Дата добавления - 28.03.2016 в 13:16
Awakum Дата: Вторник, 29.03.2016, 23:33 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
UPDATE. В LO выскакивала ошибка, но OO все открывается замечательно, проблема была в LibreOffice! Большое спасибо за помощь!


Сообщение отредактировал Awakum - Среда, 30.03.2016, 00:03
 
Ответить
СообщениеUPDATE. В LO выскакивала ошибка, но OO все открывается замечательно, проблема была в LibreOffice! Большое спасибо за помощь!

Автор - Awakum
Дата добавления - 29.03.2016 в 23:33
  • Страница 1 из 1
  • 1
Поиск:

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