我有一列包含10个单元格,每个单元格中都有不同的值。如何创建两列,每列均与其他9匹配。
示例:
1
2
3
4
5
6
7
8
9
10
成为
1 2
1 3
1 4
1 5
......
2 1
2 3
2 4
2 5
.....
10 1
10 2
10 3
10 4
10 5
10 6
10 7
10 8
10 9
答案 0 :(得分:1)
我不确定我是否读过与其他人相同的问题。我认为您的示例仅仅是一个示例,并且前10个单元格可以包含任何内容,并且您希望可以产生的所有排列。虽然我认为其他答案可能适用于您描述的特定情况,但是如果您在这些单元格中有其他数据,它们可能就无效。因此,我提供了一种变体,它使用类似的技术间接引用单元格。一组10个唯一对象中的2个对象的排列将产生90个对象(这就是Tom Sharpe的上述技术引用90的原因)。
假设您的A1到A10中有10个项目,我将以下公式放到B1中,然后将其复制到B90中:
=INDIRECT("R""IENT(ROW()-1,9)+1&"C1",FALSE)
此外,我将在C1中使用此公式并将其复制到C90中:
=INDIRECT("R"&MOD(ROW()-1,9)+1+((MOD(ROW()-1,9)+1)>=QUOTIENT(ROW()-1,9)+1)&"C1",FALSE)
答案 1 :(得分:0)
在Excel中(没有VBA或类似工具),一种方式:
在A1中并向下复制到A100:=INT((ROW()+9)/10)
。
在B1中,并用 Ctr 复制到B10:1
。
选择B1:B10,然后使用 Ctrl 复制到B100。
在C1中并复制到C100:=A1=B1
。
选择列A:B,复制,特殊粘贴,值。
过滤A:C,在ColumnC中选择TRUE
,然后删除所有蓝色索引(可见内容)行。
删除ColumnC。
答案 2 :(得分:0)
或在A1中:
=QUOTIENT(ROW()-1,9)+1
只是复制到A90而已。
然后在B1:
=MOD(ROW()-1,9)+1+((MOD(ROW()-1,9)+1)>=A1)
复制到B90。