私は、これはExcel用あまりにも難しいかもしれないと思うが、あなたは正しい方向にあなたを指していることを期待して、試してみたい場合は、ここにあなたの答えを生成するために、いくつかのC#のLINQのコードは次のとおりです。
var possibles = src.Combinations(3).SelectMany(ps => src.Except(ps).Combinations(3).Select(ps2 => new { ps, ps2 })).Select(psps2 => new { sum = psps2.ps.Sum()+psps2.ps2.Sum(), psps2.ps, psps2.ps2 });
var minsum = possibles.Min(psps2sum => psps2sum.sum);
var possibleans = possibles.Where(psps2sum => psps2sum.sum == minsum).First();
注意(1,2,3)、(5,7,9)など、あなたの最小値に一致する20の可能なペアのグループがあります。
Combinations
拡張子は以下の通りです:
public static IEnumerable<IEnumerable<T>> Combinations<T>(this IEnumerable<T> elements, int k) {
return k == 0 ? new[] { new T[0] } :
elements.SelectMany((e, i) =>
elements.Skip(i + 1).Combinations(k - 1).Select(c => (new[] { e }).Concat(c)));
}
私がオフトピックとして、この質問を閉じるために投票していますa)に示す全くオリジナルの努力がないと、b)これは[プログラミングパズル&コードゴルフ]に属しているため、 (https://codegolf.stackexchange.com/)。 – Jeeped