Декартово произведение с конкатенацией и фильтрацией строк?


-1

Я придумал задачу для своих учеников в Excel, но сам не могу ее решить.

Пожалуйста, смотрите изображение для деталей:

В столбцах A и C имеются базовые таблицы с компонентами, из которых будут создаваться пары.

В столбцах E и F есть таблица с запрещенными комбинациями.

Наконец, в столбце H должен быть список всех возможных пар, исключая запрещенные, каждая пара объединена в одну ячейку с пробелом между компонентами.

Как заставить Excel автоматически создавать такой список самым простым способом, без промежуточных ячеек или программирования VBA?


Являются ли базовые компоненты одинаковыми по номерам с обеих сторон? Например, может ли быть 4 цвета и 3 существа или наоборот, как 3 цвета, но 4 существа в базовых таблицах?
Патким

@ pat2015, числа цветов и типов существ являются независимыми и могут иметь любое значение, как и количество запрещенных комбинаций.
Hydrochoerus Hydrochaeris

Ответы:


0

Если вы можете использовать TEXTJOINфункцию, тогда проще вернуть все возможности в одной ячейке, например, с помощью этой формулы массива

=TEXTJOIN(", ",1,IF(ISNA(MATCH(A$2:A$4&" "&TRANSPOSE(C$2:C$4),E$2:E$3&" "&F$2:F$3,0)),A$2:A$4&" "&TRANSPOSE(C$2:C$4),""))

подтверждено CTRL+ SHIFT+ENTER

или если они должны быть в отдельных ячейках, то эта формула массива может быть использована в H2 скопированы

=TRIM(MID(TEXTJOIN(REPT(" ",1000),1,IF(ISNA(MATCH(A$2:A$4&" "&TRANSPOSE(C$2:C$4),E$2:E$3&" "&F$2:F$3,0)),A$2:A$4&" "&TRANSPOSE(C$2:C$4),"")),1000*(ROWS(H$2:H2)-1)+1,1000))

также подтверждено CTRL+ SHIFT+ENTER

Использование 1000немного произвольно - это значение должно быть больше, чем общая длина всех подходящих строк


Но что делать, если есть, скажем, 50 цветов, 100 видов и 2048 запрещенных пар?
Hydrochoerus Hydrochaeris

@HydrochoerusHydrochaeris - есть несколько возможных подходов, которые я мог бы рассмотреть, но было бы неплохо узнать, что приемлемо - вы счастливы использовать TEXTJOIN, какое максимальное количество цветов и / или видов?
Барри Гудини

Я не верю, что это хорошая идея, чтобы снова перечислить каждую базовую ячейку в формуле. Формула не должна изменяться, если мы добавляем или удаляем любое количество цветов и / или видов из базовых таблиц.
Hydrochoerus Hydrochaeris
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.