tft每日頭條

 > 科技

 > excel随機選擇幾個數據

excel随機選擇幾個數據

科技 更新时间:2024-10-11 22:16:04

勤勉可以彌補聰明的不足,而聰明不能彌補懶惰的缺點。——繼續學習的一天

今天我們來學習一個相對比較複雜的問題,如何随機抽取一個列表中百分之三十的内容?

如下圖中,需要抽取30%的哥哥們去參加投資方組織的活動。

excel随機選擇幾個數據(如何随機抽取列表中30)1

下面就進入操作步驟。

首先我們要将多列數據轉換為單列,這是為了方便後面使用公式來解題。

我們在A列數據下方單元格輸入公式:=B2

excel随機選擇幾個數據(如何随機抽取列表中30)2

至于為什麼是“=B2”,我們繼續往下操作,就能理解它的含義。

然後鼠标放置在單元格右下角,待光标變成十字“ ”符号,向右拖動填充公式。

excel随機選擇幾個數據(如何随機抽取列表中30)3

可以看到C列公式的結果是0,因為A15等于B2數據,那麼B15就等于C2,而C15則等于D2,D2單元格又是空值,因此顯示為0.

随後拉取填充公式的三列數據,再次向下拖動填充公式,如下圖所示:

excel随機選擇幾個數據(如何随機抽取列表中30)4

填充完公式,在數據的下半部分隻有A列顯示出數據内容,其他則顯示為0,其原理與上上文所述,A28等于B15,B28等于C15,C28則等于D15,即零值。

通過向右和向下的公式填充,便将多列數據快速轉換為單列顯示。

得到完整的單列數據後,還需要将A列數據中的公式轉換為文本值來顯示,此時可以直接複制A列數據,然後再直接粘貼,并在下拉菜單中選擇“粘貼為值”選項。

excel随機選擇幾個數據(如何随機抽取列表中30)5

之後删除B、C兩列,當然不删除也沒關系,甚至連上面A列的數據也可以不用複制粘貼為值,但出于習慣,我們會将不需要的數據清除。

excel随機選擇幾個數據(如何随機抽取列表中30)6

到這一步還隻是對數據進行整理,下面還要通過不同公式進行數據統計和計算。

随後我們在B2單元格輸入一個随機函數公式:=RAND()

excel随機選擇幾個數據(如何随機抽取列表中30)7

rand函數沒有參數,它的表達式就是“rand()”,它的結果會返回0-1之間任意的随機值。

這個值正是我們需要做到“随機抽取”這一步的計算結果。

我們将rand函數公式向下填充。

随後在右側單元格輸入一個函數公式:LARGE($B$2:$B$40,ROUND(COUNTA($B$2:$B$40)*30%,)-ROW(A1))

excel随機選擇幾個數據(如何随機抽取列表中30)8

這個公式中包含了large函數、round函數、COUNTA函數和row函數,我們分别來了解一下它們的作用。

large函數的含義是返回一組數據中指定排序的值,它的表達式為:=large(區域,k),這裡“k”指的是第k大的,比如large({1,2,3},2),則表示1、2、3三個數值中第2大的值,結果為2.

round函數的作用是四舍五入,可以指定位數進行舍入,表達式為:=round(值,位數),這裡第2參數的位數是指舍入到小數點後面的位數。如round(1.34,1),舍入到小數點後1為,則結果為1.3.

counta函數是常用的計數函數,含義是計算一組數據區域中非空單元格的個數。在這個公式中COUNTA($B$2:$B$40),就是計算列表數據的單元格個數。

再乘以30%,實際上就能得出我需要抽取的人數,它的結果是帶有小數點的值,但人數不足1的要取值為1,那麼再通過round函數進行舍入,公式中ROUND(COUNTA($B$2:$B$40)*30%,),ROUND第2參數省略,則默認為0,即向最近的整數進行舍入,得到結果值為12.

之後在公式中又要減去一個row函數,這是為了在向下填充公式時,公式能夠自動更新計算提取的結果值。因為row函數的含義是返回指定單元格的行号,如ROW(A1),它的結果是返回A1單元格的行号,則等于1.

row函數的結果會随着公式向下填充而變動。

但目前得到的結果還隻是B列随機值,現在還要前進一步,将随機值對應的A列名稱提取出來。

在excel中匹配引用的函數有很多,常用的有index、lookup和vlookup等,那今天作者就介紹一下使用vlookup反向查找匹配。

vlookup函數常規的表達式中,是不能反向匹配的,也就是說查詢值要在首列,匹配值要在右側的數據列中。

下面我們來看一下vlookup反向查找匹配的函數公式:=VLOOKUP(LARGE($B$2:$B$40,ROUND(COUNTA($B$2:$B$40)*30%,)-ROW(A1)),if({1,0},$B$2:$B$40,$A$2:$A$40),2,0)

excel随機選擇幾個數據(如何随機抽取列表中30)9

這個公式看起來比較複雜, 作者在公式編輯欄中進行了換行顯示,重點是在于vlookup第2參數的應用。

常規的vlookup表達式為:=vlookup(查找值,查詢匹配區域,返回列,樣式)

它的第2參數查詢匹配區域是一個多列數據區域,查詢列在第1列,匹配列在後續列,然後第3參數返回列是指要返回匹配的數據在區域中的列數,最後第4參數樣式則是指的精确查找或近似查找,可以用1和0來表示,也可以用true和false表示。

回到vlookup函數的第2參數中:IF({1,0},$B$2:$B$40,$A$2:$A$40)

這是一個if判斷表達式,if函數的條件參數有個規則,就是必須可以判斷真假,用數值來表示就是1和0,條件為真就是1,條件為假則等于0.

這裡出現了一個大括号包含了1和0兩個數值,屬于數組的寫法,也就是說當條件值為1時,返回結果為第2參數的$B$2:$B$40,然後繼續判斷條件值為0時,返回結果第3參數的$A$2:$A$40

由于條件是數組的組合形式,那麼結果也是一個數組的組合,我們在公式編輯欄中按下F9,可以看下它的結果:

excel随機選擇幾個數據(如何随機抽取列表中30)10

vlookup if的函數組合,看起來不大好理解,童鞋們可以記住這個固定用法,它不僅可以反向查詢匹配,也可以進行多條件查詢匹配,是vlookup非常經典的一個用法!

回到之前的公式,我們向下填充,公式計算出11個結果之後,計算結果出現了錯誤,這正是因為我們隻抽取了30%的列表數據,超過30%計算結果就會出錯。

最後我們可以再利用邏輯函數iferror來進行容錯,也就是當公式計算結果錯誤,則返回指定值。

excel随機選擇幾個數據(如何随機抽取列表中30)11

我們再看下完整結果,如下圖所示:

excel随機選擇幾個數據(如何随機抽取列表中30)12

那麼到此,随機抽取列表中百分之三十的數據内容,便操作完了。

其間經曆了好幾個操作步驟,随後又使用了多個函數公式來執行不同步驟的計算,但萬變不離其宗,任何函數的應用,都離不開對它基礎含義的理解,童鞋們可以關注下作者,學習作者正在更新的《excel100個常見函數的快速入門》專欄。

以上就是今天的全部内容,我們下期再見!

往期回顧:


Excel表格跨表查詢彙總的方法介紹

Excel表格怎麼給裝箱單自動排序箱号?

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved