這個例子是有網友想要在 20 個不連續的數字中,隨機取出 6 個不重覆的數,該如何處理?參考下圖,已經有 20 個不連續的數值清單,想要從這些數字取出不重覆的 6 個數。
為了簡化公式,所以使用了一個輔助欄位,在C欄中輸入公式:=RAND(),在C欄中的亂數接近不會重覆。
【公式設計與解析】
儲存格E2:
=OFFSET($B$1,MATCH(SMALL($C$2:$C$21,ROW(1:1)),$C$2:$C$21,0),,,)
ROW(1:1):向下複製公式會產生 ROW(1:1)=1、ROW(2:2)=2、ROW(3:3)=3、…。
SMALL($C$2:$C$21,ROW(1:1)):取出儲存格C2:C21中最小的一個數,向下複製公式時,可以依序取出第 1, 2, 3, 4, 5, 6 較小的數。
MATCH(SMALL($C$2:$C$21,ROW(1:1)),$C$2:$C$21,0):向下複製公式時,可以依序找出第 1, 2, 3, 4, 5, 6 較小的數所對應的位置。
最後,透過 OFFSET 函數將上式對應的數值。
複製儲存格E2,貼至儲存格E2:E7。
文章標籤
全站熱搜

長期觀看您的部落格讓我獲益良多。 不好意思冒昧請問,想問您 excel 當中有沒有能夠自動的編號碼的公式。 我的情況是這樣的 一列內依序是種類與顏色及用途。 牛皮 | 白色 | 測試用 | 羊皮 | 藍色 | 銷售用 | 不織布| 黑色|銷售用 | 種類代號皮件001 布類002 塑膠003 依序各類各佔一號 顏色代號白色WHT黑色BLK 藍色NAV 依序各色站一號 測試用代號是23 銷售用 17 表格內都是輸入中文,有沒有辦法讓其中一欄出現各自對應的編碼(依照各自的代號而不是中文) eg: 牛皮 | 白色 | 測試用 |001WHT23 羊皮 | 藍色 | 銷售用 |001NAV17 不織布|黑色| 銷售用 |002BLE17 不知道有沒有什麼方法可以把依序把各項轉成代號後組合成為一個新的編號。
先建立對照表, 然後使用三組VLOOKUP函數來查表, 並且串接(VLOOKUP()&VLOOKUP()&VLOOKUP())即可得到所求。