我們知道,在大多數程式設計語言中都有隨機數函數。在Excel中,同樣存在著這樣一個函數—RAND()函數,用於產生隨機數。先來看一個最簡單的例子:
HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1");
sheet1.CreateRow(0).CreateCell(0).SetCellFormula("RAND()");
RAND()函數將返回一個0-1之間的隨機數,執行後產生的Excel檔案如下:
這隻是最簡單直接的RAND()函數的應用,只要我們稍加修改,就可以作出很多種變換。如
取0-100之前的隨機整數,可設定公式為:sheet1.CreateRow(0).CreateCell(0).SetCellFormula("int(RAND()*100)");
取10-20之間的隨機實數,可設定公式為:sheet1.CreateRow(0).CreateCell(0).SetCellFormula("rand()*(20-10)+10");
隨機小寫字母:sheet1.CreateRow(0).CreateCell(0).SetCellFormula("CHAR(INT(RAND()*26)+97)");
隨機大寫字母:sheet1.CreateRow(0).CreateCell(0).SetCellFormula("CHAR(INT(RAND()*26)+65)")
隨機大小寫字母:sheet1.CreateRow(0).CreateCell(0).SetCellFormula("CHAR(INT(RAND()*26)+if(INT(RAND()*2)=0,65,97))");
上面幾例中除了用到RAND函數以外,還用到了CHAR函數用來將ASCII碼換為字母,INT函數用來取整。值得注意的是INT函數不會四捨五入,無論小數點後是多少都會被捨去。
這裡只是RAND函數的幾個簡單應用,還有很多隨機數的例子都可以根據這些,再結合不同的其它函數引申出來。
返回目錄