本次的練習(xí)是:使用公式生成位于兩個(gè)值之間且沒有重復(fù)值的隨機(jī)數(shù)。如下圖1所示,,生成在1至10之間且沒有重復(fù)值的隨機(jī)數(shù),。 圖1
先不看答案,自已動(dòng)手試一試,。 公式 在單元格B3中的數(shù)組公式: =SMALL(IF(COUNTIF(B$2:B2,ROW($1:$10))<>1,ROW($1:$10)),1+INT(RAND()*(10-ROW()+ROW(B$3)))) 拖至單元格B12,。
公式解析 下圖2展示了公式中SMALL函數(shù)的第一個(gè)參數(shù)IF(COUNTIF())部分的運(yùn)算過程,。 圖2 單元格區(qū)域E4:E13中呈現(xiàn)的是ROW($1:$10)的結(jié)果,即數(shù)字1到10,。 COUNTIF函數(shù)統(tǒng)計(jì)列E中的數(shù)字在B3:B7中出現(xiàn)的次數(shù)并在F4:F13中放置統(tǒng)計(jì)的結(jié)果,。 然后將列F中的結(jié)果與1比較,看是否等于1,,在G4:G13中放置比較后的結(jié)果,。 如果列G中的值是TRUE,表明列E中相應(yīng)單元格的數(shù)值還沒有被使用,,將其放置到列H中,,否則寫入FALSE。列H中的結(jié)果即為還沒有被使用的數(shù)字,。
作為SMALL函數(shù)第二個(gè)參數(shù)的公式: 1+INT(RAND()*(10-ROW()+ROW(B$3))) 根據(jù)公式單元格所在的行,,生成一個(gè)數(shù)字,該數(shù)字小于等于還沒有被使用過的數(shù)字?jǐn)?shù),。例如,如果公式所在的單元格為B9,,那么將生成1至4之間的一個(gè)整數(shù)作為SMALL函數(shù)的參數(shù),,提取剩下沒有被使用的數(shù)字中的數(shù)。
小結(jié)
下期預(yù)告: Excel公式練習(xí)26:比較兩列的值并提取不相同的數(shù)據(jù) 如下圖所示,要提取列C中西區(qū)超市有而列A中東區(qū)超市沒有的水果,,如何編寫公式呢,?
本文屬原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處,。 歡迎在下面留言,,完善本文內(nèi)容,讓更多的人學(xué)到更完美的知識(shí),。 |
|