中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
BASE!一個可以排列組合的函數(shù)!來秀!

具體我們直接開干!

看一個常見問題,排班,6人,每次需要3人,共有多少種組合?

友情提醒:下面公式第一眼看上去,100%暈,感興趣的可以看下面的詳解,或者保存公式,以后套用

▼公式

=TEXTJOIN('|',,REPT($A$1:$A$5,MID(LET(組合,BASE(ROW($1:$31),2,5),TEXT(SMALL(--IF(LEN(組合)-LEN(SUBSTITUTE(組合,1,))=3,組合,9^9),ROW(A1)),'00000')),ROW($1:$5),1)))

下面我們就來詳細說說這公式及思路!

▍思考01 :M取N個組合有多少個?

這個問題,我們可以通過Excel的函數(shù)來處理,COMBIN(M,N)

本案例中,5取3,所以我們的組合結果為:

得到這個,我們可以驗證結果是符合要求!

▍思考02:組合的原理

所謂組合,也就是從M個中取3個全部組合,那么本質就是取或者不取,這個東西是不是和2進制中1和0一樣,1代表取,0代表不取,如果我們列出所有的取和不取組合,那么這個問題就簡單了

說到這里,我們就不得不說一下BASE函數(shù)

BASE函數(shù):進制轉換,3個參數(shù)

>參數(shù)1:數(shù)值

>參數(shù)2:進制

> 參數(shù)3:長度

比如我們都知道10的二進制是 1010,一般采用 除2反向取余法 

第一次:10/2=5余0

第二次:5/2  =2余1

第三次:2/2  =1余0

第四次:1/2  =0余1

進制的問題,我們解決了,下面就是如何列出所有的組合

5個 分別取1個、2個、3個、4個和5個,一共有多少種組合? 學過COMBIN,簡單了!分別再相加即可!合計31

根據(jù)他們的算法,有一個簡單的規(guī)律  就是2^n-1 比如這里的 5個,就是2^5-1=31 ,所以后面我們使用第二種算法處理!

我們把1-31 全部轉成2進制,就可以得到全部的組合情況,正好31組,分別是0和1組成,可以大概看看他們的規(guī)律!

=BASE(ROW(1:31),2,5)

那么我們要的5選3,也就是其中正好于3個1,其他都是0即可!

那我們?nèi)绾握业絻?nèi)容中正好有3個1的部分呢?,替換法,如果把1替換掉的長度和原來的長度差額正好是3,說明滿足條件

那么我們就是把這些都提取出來,按照按照位置去提取即可!0不取,1??!

我們整合一下:

=TEXT(SMALL(--IF(    LEN(BASE(ROW($1:$31),2,5))-LEN(SUBSTITUTE(BASE(ROW($1:$31),2,5),1,))=3,     BASE(ROW($1:$31),2,5),9^9),ROW(A1)),'00000')

還是有點看不懂是吧??? 公式比較簡單,只是較長吧,我們可以利用LET函數(shù)簡化一下,大家就能很好明白!

說明:把1替換成空,如果原來的內(nèi)容長度-替換后的內(nèi)容長度=3,說明正好有3個1,提取3個內(nèi)容,把這部分使用SMALL逐個提取出來即可!

有了這個,下面就是如何和內(nèi)容關聯(lián)上了!

▍思考03:提取內(nèi)容

1表示提取1,0不取,那么我們就需要把每一位截取出來,然后通過IF判斷即可,或者使用常規(guī)套路REPT處理!

逐位提??!

那么如何對應數(shù)據(jù)源呢?Excel TRUE對應非0,F(xiàn)ASLE對應0,那么正好可以利用1和0對應IF是否滿足條件

=IF(--MID(C1,COLUMN(A:E),1),TRANSPOSE(A1:A5),'')

為了演示直觀,我們截取位多列,其實多行即可!這樣就不用轉置了!同時IF部分我們可以使用REPT函數(shù)代替!,重復0次就是空值,重復1就是本身!

最后使用TEXTJOIN合并起來即可,利用第二參數(shù)忽略控制

=TEXTJOIN('|',,REPT($A$1:$A$5,MID(C1,ROW($1:$5),1)))

那我們把所有部分合并起來一起寫就成了最后的公式!

▼沒有LET函數(shù)的朋友,BASE部分多寫幾次即可!

=TEXTJOIN('|',,REPT($A$1:$A$5,MID(LET(組合,BASE(ROW($1:$31),2,5),TEXT(SMALL(--IF(LEN(組合)-LEN(SUBSTITUTE(組合,1,))=3,組合,9^9),ROW(A1)),'00000')),ROW($1:$5),1)))


根據(jù)上面的思路,其實我們可以總結出一個通用一些的公式:

如果內(nèi)容在A列,取N個在D5

▼通用公式

=IFERROR(TEXTJOIN(',',,REPT(OFFSET($A$1,,,COUNTA($A:$A)),MID(BASE(LARGE(IF(LEN(SUBSTITUTE(BASE(ROW(INDIRECT('1:'&2^COUNTA($A:$A))),2,COUNTA($A:$A)),0,))=D$5,ROW(INDIRECT('1:'&2^COUNTA($A:$A)))),ROW(A1)),2,COUNTA($A:$A)),ROW(INDIRECT('1:'&COUNTA($A:$A))),1))),'')

OK!今天的內(nèi)容就到這里,快速試試吧!

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何獲得一列數(shù)據(jù)的所有組合:Excel函數(shù)式編程
Excel公式練習74: 將Y/N符號轉換成星期幾
煩煩煩煩!同事發(fā)來這樣一張Excel表,如何快速拆分整理?
按指定次數(shù)重復內(nèi)容的套路合集
69用Excel函數(shù)將多個一維數(shù)組合并成一維數(shù)組~
函數(shù)綜合實戰(zhàn)-一個單元格中的坑!
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服