Страницы: 1
RSS
Генератор фраз из заданного набора слов, Генератор фраз по столбцам
 
Всем привет, пришел к вам с проблемой на которую не могу найти нигде решение.
Вот сама задача стоит передо мной: Есть 6 столбцов, в каждом вводятся фразы(в каждом столбце их бывает разное кол-во от 1 и до 1000 может доходить, в основном до 50) которые нужно логически сцепить друг с другом, т.е нужно сцепить каждое слово с 1 столбца с каждым словом из 2 столбца. Т.е если в столбце 1- 3 слова а во втором 10 слов, то в итоге должно получится 30 уникальных фраз. Так вот мне нужен макрос или формула если такую можно придумать, которая будет сцеплять все значения с двух столбцов и выводить итог в отдельный столбец без пустых ячеек. И если столбцы с данными пополняются, то нужно что бы итог тоже пополнялся дальше вниз после последней заполненой ячейки. Буду безумно благодарен всем кто хоть немного поможет. Пример приложил к вопросу.
P.S: Круто было бы формулой реализовать т,к мне придется потом переделывать, для сцепления остальных столбцов. т,к в VBA я слабоват =)
Или если через VBA делать макрос, на сцепление всех столбцов, то схема должна выглядить так:
Столбец 1- сцепляем с 2- и итог выводится в отдельный столбец.
Далее нужно что бы в итоге остался сцепленный 1 и 2 столбец и после последнего заполненого значения (в пустой ячейке) проставились фразы которые копируются с итога сцепления 1 и 2 столбца и они уже сцепляютсся с 3 столбцом.
Дальше тоже самое. Должен копироваться весь итог на данный момент (а это уже комбинации 1 и 2 столбца и комбинация 1, 2 и 3 столбца) и дальше же внизу в следующую пустую ячейку вставляется со сцеплением 4 столбца. и так далее до 6 столбца.

Прошу заметить, я в курсе про онлайн ресурсы которые делают такое, я сейчас пользуюсь таким. Но мне интересно можно реализовать такое в екселе, т.к я постоянно  нем нахожусь и желательно было бы делать это все там. т,к. это ускорит работу.
Изменено: Gagarin13 - 21.05.2018 20:54:38
 
Gagarin13, http://www.cyberforum.ru/vba/thread1409312.html
 
И здесь было подобное https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=104590
 
публиковал это тут много раз уже
открывайте файл, жмите кнопку.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо огромное)) неделю лазил по гуглу и форумам не нходил подходящих тем) глаза надо шыре открывать)
 
в результате у меня генератор фраз по строкам... но да ладно
зато Вы можете добавить еще строку с уточнениями и нажав кнопку получить фразы с учетом добавленной строки и уточнений содержащихся в ней)

и по поводу внятных названий тем,
то о чем долбят посететелей модераторы - чем понятнее сформулирована тема, тем больше вероятности, что тот, кто будет искать что-то похожее, сможет сформулировать свой запрос приблизительно аналогично и найти нужный себе ответ.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игор, спасибо огромное) Но еще такой вопрос, я в VBA немного тугодум, как поменять месторасположение результата? я пробовал создать кнопку и назначить на него этот макрос но не работает.
 
название темы:

генератор фраз из заданного набора слов

Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Gagarin13,
в процедуре Start
Cells(7,7) - это и есть ячейка в корторую начнется вывод результатов, строка 7, столбец 7 (ячейка G7
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Огромное спасибо) Форум топ, знал что помогут) Уже много тут ответов на свои вопросы нашел)
И последний вопрос, как можно поменять строку с которой берутся приставки, купить, заказать и т.д?И что нужно в коде поменять, что бы он брал транзакции не с верхней строки а со столбца? если это возможно. потом возможно понадобится поменять на столбец)

А и еще заметил, он склеивает максимум только 5 ячеек? можно увеличить до 7 и больше?
Изменено: Gagarin13 - 03.06.2018 13:11:26
 
Gagarin13, кнопка цитирования не для ответа! Вернитесь в свои сообщения и удалите эти горе-цитаты.
 
исходными данными для макроса являются группы слов
количество групп в данных - не ограничено
количество слов в группе -  не ограничено
группы располагаются в строках, по одному слову в ячейке. в группе должно быть как минимум 1 слово. первое слово в группе - должно бытьв первой колонке.
признак окончания группы - первая пустая ячейка
что делает макрос?
макрос собирает комбинации из слов. в каждой комбинации присутствует по 1 слову из каждой группы, т.е. количество слов в комбинации всегда равно количеству групп в данных. 1-м словом всегда будет одно из слов 1-й группы,, вторым - из второй, ... последним - из последней группы.
Gagarin13,
не устраивает Вас, что группы собраны в строки а не столбцы - код открыт, можете его передалать
Цитата
заметил, он склеивает максимум только 5 ячеек
сколько групп есть в данных - столько и склеивает. писал выше количество групп - не ограничено, будет 10 или 110 соберет по 10 или 110 слов в каждую комбинацию.
Изменено: Ігор Гончаренко - 22.05.2018 00:51:03
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо)
Изменено: Gagarin13 - 22.05.2018 01:06:23
 
На основе SQL-запроса. Файл поместить в папку С:\1, на таблице ПКМ- обновить. Важно - во всех столбцах кроме 1-го  добавлено значение " " (пробел), учтено 6 исходных столбцов, строки контролируйте сами (результат может не поместиться на лист).
Изменено: TheBestOfTheBest - 22.05.2018 09:47:39
Неизлечимых болезней нет, есть неизлечимые люди.
Страницы: 1
Наверх