У меня есть инструмент поиска, который я разрабатываю в Excel. В столбце "ЕС" у меня есть ячейки, каждая из которых содержит строку из 124 цифр. Эти строки состоят из 0 и 1. У меня есть 124 характеристики, которые выдают 1 или 0 ..., и пользователи могут захотеть найти 1,2,3,4,5 и т.д. Характеристики. Для простоты, скажем, в EU1 есть строка 0100100011 ..... и я хочу найти любую ячейку, содержащую 0100100000 или, возможно, 0000100010 и т.д. Другими словами, я хочу найти любую строку, содержащую "1", в определенном месте цифры, возможно несколько единиц в нескольких разрядах .......... Пример я хочу проверить, если какая-либо из этих 3 комбинаций .....
0000010000000001000000000000010010000010000000100000010010010000000000101100100000100000000000000000000000000000000000000100 0000000000001010001000000010010010010010000000100000010010010000000000100100100000100100000100000000000000000000000001000100 0000000000000110000010000010001001010000010000100000010010010000000000100100100001000100000100000000000000000000000001000100
есть 1 в этих местах ......
1000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000100000000000000000000000000000
если в других местах есть 1, то это нормально, но если тестовое условие имеет 1, а в проверенных местах есть ноль в этой цифре.
Другими словами, используя более понятные примеры, представьте, что мои строки имеют длину всего пять символов, а мои первые пять строк
EU1 10000
EU2 10001
EU3 11000
EU4 11011
EU5 00001
Я хочу найти строки, в которых весь назначенный список позиций символов содержит 1
с, сравнивая каждую из них со строкой поиска переменной, которая содержит 1
во всех позициях, где я хочу, чтобы была 1
.
Нули в переменной являются символами подстановки.
Другой способ выразить это в том, что строка поиска действует как маска.
Например, чтобы найти строки, первые две цифры которых равны 1
с (безразлично к остальным), я бы хотел указать 11000
и получить совпадения со строками EU3 и EU4.
(Это может представлять собой поиск объектов, которые имеют тип A ngular AND B lue.)
Поиск по 10000
(все объекты , которые являются ngular) должны совпадать по всем струнам , чьи первые цифра 1
а именно : EU1, EU2, EU3 и EU4.
11100
(все объекты , которые являются ngular И В LUE И С ircular) не должны давать ни одного совпадения, потому что никакие строки не содержат 1
в месте третьей цифры.
И наоборот, 00000
должен соответствовать всем строкам, потому что строка поиска со всеми нулями является подстановочным знаком.
В форме таблицы:
Search string: 11000 10000 11100 00000 ↓↓ ↓ ↓↓↓ EU1 10000 → 10000 10000 → 10000 EU2 10001 → 10001 10001 → 10001 EU3 → 11000 → 11000 11000 → 11000 EU4 → 11011 → 11011 11011 → 11011 EU5 00001 00001 00001 → 00001 (none) (all)