2007年1月5日 星期五

[EXCEL] 製作賓果表-INDIRECT() 的應用

 
  相關函數INDIRECT()

  Excel 另一個常見的應用,是從一堆原始資料中,按照一定的規則,把符合規則的參照位置的資料抽選出來。而 INDIRECT() 正好可以用來把「文字串」"A1" 轉換成「參照位置」A1,也就是說,只要你能夠組合出你所需要的文字串,就可以抽選出它所對應的資料。

  舉例來說,你想從 A1:A10 中抽出 A3, A6, A9 三組資料,只要在 B1 輸入公式

##CONTINUE##
=INDIRECT("A"&ROW()*3)

  再將公式向下複製到 B2:B3 即可。ROW()*3 剛好可以算出 3, 6, 9 三個數字,進而組合出 "A3", "A6", "A9" 三個文字串,再由 INDIRECT() 轉換成參照位置 A3, A6, A9。只要改變這部份的公式,抽選的規則就可以千變萬化。

  例如,如下表,想把 A2:A6 這五個資料重新亂數排列,可以先在 B:C 欄產生 2~6 的不重覆的亂數,用來代表 A2:A6 的列數,再用 INDIRECT() 轉換成參照位置,就可以在抓到原始資料顯示在 D 欄。


  • B2 公式 =RAND()
  • C2 公式 =RANK(B2,$B$2:$B$6)+1
  • D2 公式 =INDIRECT("A"&C2)
  • 三個公式都往下複製到 B3:D6。
  • D2 的公式可以合併 C2 成為 =INDIRECT("A"&RANK(B2,$B$2:$B$6)+1) 這樣就不需要 C 欄了
  再進階一點,把上面方式重覆做五次,就可以得到5*5的賓果表了。例如,想從 99 個數字或符號中,亂數取出 25 個做成5*5的賓果表,步驟如下:

  1. 在 Sheet2!A1:A99 輸入你想要的數字或符號
  2. 在 Sheet2!B1 輸入公式 =RAND()
  3. 把 Sheet2!B1 公式往下複製到 Sheet2!B2:B99
  4. 在 Sheet1!A1 輸入公式 =INDIRECT("Sheet2!A"&RANK(Sheet2!$B1,Sheet2!$B$1:$B$99))
  5. 把 A1 公式往右複製到 B1:E1
  6. 修改 B1:E1 公式的紅字部份, B1 公式改為 "B6", C1 公式改為 "B11", D1 公式改為 "B16", E1 公式改為 "B21", 也就是 A 欄取 Sheet2!B1:B5 的亂數, B 欄取 Sheet2!B6:B10 的亂數, 餘此類推.
  7. 選取 A1:E1, 往下複製四列到 A2:E5
  8. 賓果表完成。按 F9 可以隨機改變排列,產生另一組不同的賓果表

  註:有關不重覆的亂數,請參考另一篇文章的介紹。

1 意見:

Unknown 2012/11/19 下午2:54 提到...

5號線也被稱為瑞典賓果賓果遊戲,是一個快節奏的遊戲。我們的目標是覆蓋水平或對角的線條。你可以贏得1,2,3,4或5線或相結合的 - 每場比賽的混搭!它看起來像一個正常的75球的遊戲,但它實際上是一個90球的遊戲,廣場中間是不是免費的。
http://www.08online.com.tw