Поиск возможностей объединения экипажей
Группа BLUE может быть в паре с другим членом группы BLUE или с участником RED.
НО группа RED может быть соединена только с членом группы BLUE
Ник и Стив
Ник и Алекс
Ник и Пэт
Пэт и Стив
Пэт и Алекс
Это 5 пар экипажей (Ник/Пэт — это то же самое, что Пэт/Ник, поэтому их следует учитывать только один раз). Как мне написать формулу, чтобы позволить мне продолжать строить, продолжая добавлять участников в обе группы? Я попробовал =Blue((blue-1)red), который не дает точной суммы.
2 ответа
Это звучит более подходящим для решения SQL, поэтому я бы описал вашу синюю и красную таблицы для POWERQUERY в Excel, а затем построил такой запрос:
Select b1.name as PairFirstPart, b2.name as PairSecondPart
From TableBlue b1 Inner Join TableBlue b2 ON
b1.name<b2.name
UNION ALL
Select b.name, r.name
From TableBlue b Inner Join TableRed r
Теперь вы можете добавить элементы в обе таблицы, а затем повторно запустить запрос для получения обновленных результатов.
Мне было интересно, сможете ли вы реализовать ответ @Chris Maurer непосредственно в Excel.
Да, вы можете в основном следовать инструкциям здесь (Данные | Получить данные | Из других источников | Запрос Microsoft) и отредактировать SQL, но я мог заставить его работать, только поместив синюю таблицу на один лист, который я назвал Синяя и красная таблица. на другом листе, который я назвал Красным:
и
Тогда SQL выглядел так:
SELECT t1.Person , t2.Person
FROM `C:\Users\myID\OneDrive\Documents\Excel\Source.xlsx`.`Blue$` t1,
`C:\Users\myID\OneDrive\Documents\Excel\Source.xlsx`.`Red$` t2
union all
SELECT t1.Person, t2.Person
FROM `C:\Users\myID\OneDrive\Documents\Excel\Source.xlsx`.`Blue$` t1
inner join
`C:\Users\myID\OneDrive\Documents\Excel\Source.xlsx`.`Blue$` t2
on t1.person<t2.person
В результате чего