Всем привет, пришел к вам с проблемой на которую не могу найти нигде решение. Вот сама задача стоит передо мной: Есть 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 столбца.
Прошу заметить, я в курсе про онлайн ресурсы которые делают такое, я сейчас пользуюсь таким. Но мне интересно можно реализовать такое в екселе, т.к я постоянно нем нахожусь и желательно было бы делать это все там. т,к. это ускорит работу.
в результате у меня генератор фраз по строкам... но да ладно зато Вы можете добавить еще строку с уточнениями и нажав кнопку получить фразы с учетом добавленной строки и уточнений содержащихся в ней)
и по поводу внятных названий тем, то о чем долбят посететелей модераторы - чем понятнее сформулирована тема, тем больше вероятности, что тот, кто будет искать что-то похожее, сможет сформулировать свой запрос приблизительно аналогично и найти нужный себе ответ.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Игор, спасибо огромное) Но еще такой вопрос, я в VBA немного тугодум, как поменять месторасположение результата? я пробовал создать кнопку и назначить на него этот макрос но не работает.
Огромное спасибо) Форум топ, знал что помогут) Уже много тут ответов на свои вопросы нашел) И последний вопрос, как можно поменять строку с которой берутся приставки, купить, заказать и т.д?И что нужно в коде поменять, что бы он брал транзакции не с верхней строки а со столбца? если это возможно. потом возможно понадобится поменять на столбец)
А и еще заметил, он склеивает максимум только 5 ячеек? можно увеличить до 7 и больше?
исходными данными для макроса являются группы слов количество групп в данных - не ограничено количество слов в группе - не ограничено группы располагаются в строках, по одному слову в ячейке. в группе должно быть как минимум 1 слово. первое слово в группе - должно бытьв первой колонке. признак окончания группы - первая пустая ячейка что делает макрос? макрос собирает комбинации из слов. в каждой комбинации присутствует по 1 слову из каждой группы, т.е. количество слов в комбинации всегда равно количеству групп в данных. 1-м словом всегда будет одно из слов 1-й группы,, вторым - из второй, ... последним - из последней группы. Gagarin13, не устраивает Вас, что группы собраны в строки а не столбцы - код открыт, можете его передалать
Цитата
заметил, он склеивает максимум только 5 ячеек
сколько групп есть в данных - столько и склеивает. писал выше количество групп - не ограничено, будет 10 или 110 соберет по 10 или 110 слов в каждую комбинацию.
На основе SQL-запроса. Файл поместить в папку С:\1, на таблице ПКМ- обновить. Важно - во всех столбцах кроме 1-го добавлено значение " " (пробел), учтено 6 исходных столбцов, строки контролируйте сами (результат может не поместиться на лист).