場景一:排序
從将A列裡的5個地區中取出2個地區,列出所有可能,不考慮排序,也就是河北-山西和山西-河北是2種組合結果(排列:指從給定個數的一組數據中取出指定個數的元素進行排序,考慮排序。)5個地區,每個地區有4種組合可能,不考慮排序,也就是5*4=20(種)可能。
01 思路:出發點:将每個地區重複5次(産生重複的序列,再取對應的值);目的點:依次循環(1,2,34,5,1,2,3,4,5)取地區,再将出發點和目的點相等的删除
02:公式部分
出發點公式:=INDEX($A$2:$A$6,INT(ROW(A5)/5))
INDEX取單行/列的指定第幾個位置的值,而位置是重複的序列(1,1,1,1,1,2,2,2,2);向下産生連續的數字,一般考慮使用ROW(返回行号),而連續的數字除以一個數字,行号如果是數字的倍數,結果為整數,否則就是小數,不管小數,直接向下取整(INT),就會産生循環的序列,進行總結歸納,重複序列通用公式:
INT(ROW(重複次數的行号)/重複次數)
函數解釋
INDEX(單行/單列,第幾個):返回單行/列中指定第幾個位置的值
INT(數字):向下取整,隻看整數部分
ROW(單元格):返回行号(隻跟數字有關)
目的點公式:=INDEX($A$2:$A$6,MOD(ROW(A5),5) 1)
函數解釋
1-N循環序列通用公式:MOD(ROW(N的行号),N) 1
MOD(數字,除數):取餘【13÷5=2...3(3是餘數)】
03:将出發點和目的點重複的删除
篩選出結果為TRUE的,删除
場景二:組合
從将A列裡的5個地區中取出2個地區,列出所有可能,考慮排序,也就是河北-山西和山西-河北是1種組合結果(組合:指從給定個數的一組數據中取出指定個數的元素進行排序,不考慮排序。)5個地區,組合個數為4 3 2 1=10種組合可能,在這裡就是排序數的一半
01 思路:第地區進行編号,在排序的基礎上,篩選出發點地區對應的編号大于目的點地區對應的編号即可(或者篩選出發點地區對應的編号小于目的點地區對應的編号)
02:序号産生
可以鼠标拖拽,可以使用填充中序列功能
03:公式部分
出發點公式:=INDEX($A$2:$A$6,INT(ROW(A5)/5))
出發序号公式:=INDEX($B$2:$B$6,INT(ROW(A5)/5))
目的點公式:=INDEX($A$2:$A$6,MOD(ROW(A5),5) 1)
目的序号公式:=INDEX($B$2:$B$6,MOD(ROW(A5),5) 1)
04:篩選出發點地區對應的編号大于目的點地區的編号
這部分的公式和上面的是一樣的,就不多說了,容易理解是用power query去解決該問題,有興趣的可以看這篇文章一組數據中取出兩個元素的所有可能之排列組合(power query篇),大家有什麼好的方法,可以在評論區留言喲!!!!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!