Страницы: 1
RSS
Удалить значение из следующих столбцов в строке, если значение есть в первой ячейке
 
Добрый день

В каждом столбце идут значения от 1,2,Х. я знаю что все три значения не могут повториться.
то есть если в стоблцах А,В,С выпали значения 1, то их не может быть в столбце D,E,F.

Всего математически есть 27 возможных вариантов для системы 3 из 3.

Код
1- 111
2- 112
3- 11X
4- 121
5- 122
6- 12X
7- 1X1
8- 1X2
9- 1XX
10- 211
11- 212
12- 21X
13- 221
14- 222
15- 22X
16- 2X1
17- 2X2
18- 2XX
19- X11
20- X12
21- X1X
22- X21
23- X22
24- X2X
25- XX1
26- XX2
27- XXX


Подскажите с макросом, который бы делал следующее:
1. находил в столбцах три подряд совпадения  и удалял их дальше в следующей тройке событий
2. анализировал это 27 раз
3. на всех строчках и столбцах. То есть сначала он(макрос) берет столбцы А,В,С, удаляет все значения которые равны значениям ABC в столбцах DEF, потом берет столбцы BCD и удаляет значения из столбцов EFG.

во вложении пример
на странице бриф 13 первые 100 значения из полной системы в которой 59 049 вариантов
на странице 27 из 3 комбинации которые нужно найти в брифе 13 и удалить их при условии что три столбца слева дадут такие же значения как три столбца идущие за ними.
на странице после удаления то что должно получиться, в данном примере из 100 строк осталось 18 строк.
 
Доброе время суток.
Версия на Power Query
 
Доброе время суток, а не подскажете как им пользоваться? вставлять новые данные и чтобы все работало
 
Цитата
DJMC написал:
как им пользоваться
На листе "бриф13" заполняете таблицу данными. На листе "после удаления" обновляете таблицу (ПКМ в её любой ячейке - Обновить).
 
добавил в файл строки, ничего не происходит, какие то ошибки... что не так делаю?
 
Цитата
DJMC написал:
какие то ошибки...
Можно несколько больше подробностей? Или вы про формулы сравнения двух таблиц - вашего результата и результата Power Query? Просто их удалите.
Цитата
DJMC написал:
ничего не происходит
Ну, как ничего - получили пустой набор строк в таблице результата, согласно условию
Цитата
DJMC написал:
берет столбцы А,В,С, удаляет все значения которые равны значениям ABC в столбцах DEF, потом берет столбцы BCD и удаляет значения из столбцов EFG.
 
Цитата
Андрей VG написал:
Ну, как ничего - получили пустой набор строк в таблице результата, согласно условию
а почему ничего не осталось, в строчке 226 условие не выполнено, и должно было остаться.

вот ниже эта строчка.

1 X X
X X X
X 1 1
1 1 1
1 2 2
 
Цитата
DJMC написал:
условие не выполнено
Не будете ли вы столь любезным доказать это? Рассмотрим ваш алгоритм
Цитата
DJMC написал:
сначала он(макрос) берет столбцы А,В,С, удаляет все значения которые равны значениям ABC в столбцах DEF, потом берет столбцы BCD и удаляет значения из столбцов EFG.
На листе "берёт ABC, удаляет из DEF" в левой таблице представлены все уникальные значения столбцов ABC исходной таблицы "бриф13". Вычислен столбец key как сцепка значений по строке этих столбцов. В правой таблице представлена копия исходной таблицы  "бриф13" и вычислен столбец key как сцепка значений столбцов DEF исходной таблицы. В столбце test выполнен ВПР правого key по значениям левого key. Таким образом, если в столбце test значение из левого key, то эта строка, на основании алгоритма должна быть удалена значения ABC и DEF равны, а если #Н/Д, то оставлена.
На лист "берет BCD, удаляет из EFG" в правую таблицу скопированы значения правой таблицы листа "берёт ABC, удаляет из DEF", где в столбце "test@ есть #Н/Д. В левой таблице на листе "берет BCD, удаляет из EFG" отобраны уникальные значения BCD, оставшиеся в правой таблице этого листа, сформирован ключ key. Для правой таблицы сформирован ключ EFG key. Все его значения равны X|X|X. Но это же значение есть и в левом key, следовательно все строки правой таблицы на листе "берет BCD, удаляет из EFG" должны быть удалены согласно вашему алгоритму.
Прошу доказать где и в чём я ошибся, выполняя ваш алгоритм пошагово?
Изменено: Андрей VG - 10.04.2021 17:18:43 (Файл не приложил :()
 
Андрей VG
я ни в коем случае не хотел Вас обидеть, просто не много не понятно, почему идет такое распределение и на выходе ничего не остается.

Не много слов что это за комбинации и откуда берутся, в игре тотализатор нужно угадать 15 игр из 15, чтобы забрать главный приз, в мире тото существует программы бриф, где ты задаешь определенное значение и они гарантирует что будет угадана категория, то есть если ты не разбираешь в футболе, чтобы угадать 13 из 15, математически доказана верхняя граница которая состоит из 59 049 вариантов. Я увидел что тройки игр почти ни когда не совпадают, и вот решил проверить, а есть ли в этих брифах такие варианты, получается что их нет, и данные программы(брифы) никогда не возьмут джека. Так как такой комбинации там просто нет.

я могу дать ссылку на большой, файл я постарался заполнить его согласно Вашей последней версии, и действительно там нет ни одного варианта, чтобы Вы увидели правильно ли я сделал все?

файл
Изменено: DJMC - 10.04.2021 19:17:37
 
Цитата
DJMC написал:
я ни в коем случае не хотел Вас обидеть
С чего вы решили, что я на что-то обиделся? Опять бездоказательное утверждение! :)
Цитата
DJMC написал:
Не много слов что это за комбинации и откуда берутся
Спасибо за описание, но оно никоим образом не способствует решению данной задачи.
Было бы лучше, если вы на основе файла #5 составите пошаговое описание в этом же файле, как от исходных данных на листе "бриф13" вы приходите к результату
Цитата
DJMC написал:
вот ниже эта строчка.
Поскольку, получается, что описание алгоритма
Цитата
DJMC написал:
3. на всех строчках и столбцах. То есть сначала он(макрос) берет столбцы А,В,С, удаляет все значения которые равны значениям ABC в столбцах DEF, потом берет столбцы BCD и удаляет значения из столбцов EFG.
не соответствует тому, что нужно делать. Замечу, что оно не соответствует и названию темы тоже :)
 
добрый день.

Я ценю что мне кто то помогает еще с моими не простыми и не понятными вопросами. Спасибо Вам за это.

сделал во вложениифайл файл, убрав формулами истину, оставив только ложь и получилось что из 59 049 вариантов, осталось 41 760 вариантов.
 
Цитата
DJMC написал:
осталось 41 760 вариантов.
Вот решение, дающее аналогичный результат. Лист "Источник" содержит исходную таблицу, лист "Результат" левая таблица - то что получилось у вас, правая, то что получается запросом Power Query к таблице листа "Источник". На листе "Сопоставление" - сравнения вашего результата и результата Power Query - они равны.
Для контроля обработаны таблицы из постов #1, #5 на соответствующих листах тем же самым алгоритмом, реализованным функцией GetDJMCAlgorithmTable, используемая во всех трёх запросах, только на вход подаются разные входные таблицы листов: "Источник", "#1", "#5". Но, на контрольных таблицах источниках листов "#1", "#5" - результаты пустые строки, что не соответствует описываемому вами ожидаемому результату.
Какие будут выводы?
Изменено: Андрей VG - 11.04.2021 12:01:19
 
А вот теперь я не много не понял....

почему разные значения получаются?  на листе 1 и на листе 5 ?
 
Цитата
DJMC написал:
А вот теперь я не много не понял....
Как всё запущено-то, однако. Хорошо. Вот ваши файлы из сообщений 1 и 5. Подставил ваши формулы из файла в сообщении 9. Выполняю фильтрацию по столбцам "1 и 2" ... "12 и 13". Прихожу к такому состоянию, что для части из этих столбцов нет значений ЛОЖЬ на очередном шаге выбора, что должно быть на основании отбора нужных строк в вашем файле 9.
Следовательно, предложенный вами алгоритм в файле сообщения №9, не позволяет добиться требуемых результатов. Результатом в них обеих будет пустой набор строк. Для файла сообщения №1 вы на листе "после удаления" представили - каков должен быть результат. Он соответствует тому, что получается в прилагаемом файле БРИФ 13 форум сообщение #1.xlsx?
Изменено: Андрей VG - 11.04.2021 18:17:54
 
И тишина :) . DJMC, надеюсь, вы предоставите выводы по результатам.
 
я не хочу показаться еще тупее, ушел разбираться с файлами, так как не пойму почему большие массивы не обрабатывает, а удаляет все, хотя с 500 тыс должно остаться 48 тыс. вариантов.
В целом Вы подсказали простые формулы, делаю в ручную.
Страницы: 1
Наверх