国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

還在手動篩選數(shù)據(jù)?試試filter這個數(shù)組函數(shù),真香!

2022-06-06 23:14 作者:以溪同學  | 我要投稿

有些業(yè)務需要經(jīng)常手動篩選指定條件數(shù)據(jù),雖然操作上不是很繁瑣,但就是小操作,很容易讓你熬夜加班。

在Microsoft 365和WPS最新版中,上線了Filter這個動態(tài)篩選函數(shù)。

函數(shù)作用就是,根據(jù)指定條件,對目標數(shù)據(jù)進行篩選,將最終的篩選結果直接展現(xiàn)出來。

「所以好處是什么?」 如果使用filter函數(shù),你只需要一次創(chuàng)建好函數(shù)模板,后期更新數(shù)據(jù)庫,就能自動完成所有篩選操作。

「那么如何使用函數(shù)公式有條件的動態(tài)篩選數(shù)據(jù)?」

本期用「filter函數(shù)」「if函數(shù)」分別實現(xiàn)下面的篩選需求。

  1. 單條件篩選

  2. 多條件同時滿足或只滿足任意條件

  3. 要么同時滿足某些條件,要么符合指定條件

點贊收藏,根據(jù)你的需要選擇合適的方法。

1. Filter函數(shù)怎么用?

函數(shù)參數(shù)如下:

=FILTER(array,include,[if_empty])

圖片來自office支持

Microsoft 365,Excel 2021以及WPS最新版支持該函數(shù)

第一個參數(shù)是待篩選的數(shù)據(jù)區(qū)域或者數(shù)組,第二個是一個一維布爾值數(shù)組,這個待會詳細介紹,第三個是當沒有符合條件數(shù)據(jù)時返回的值。

以這張信息表為例:

我們需要篩選提取所有性別為「男」的數(shù)據(jù),使用公式如下:

=FILTER(A2:C8,B2:B8="男")

可以注意到,函數(shù)第二個參數(shù)使用了B2:B8="男"這樣的條件式,這個條件式的結果是這樣的:

符合條件的,返回結果True,不符合則是False。由此構成了一組一維的布爾值數(shù)組。

這個數(shù)組有以下幾個條件:

  1. 數(shù)組必須是單行或者是單列的一維數(shù)組;

如果要篩選行,則是單列數(shù)組,篩選列則是單行數(shù)組。

  1. 數(shù)組大小必須與待篩選的數(shù)組大小保持一致。

例如待篩選數(shù)組要篩選行,則布爾值數(shù)組只能是單列且行數(shù)與待篩選數(shù)組行數(shù)一致的一維數(shù)組。

  1. 數(shù)組內(nèi)容必須是布爾值,也就是True或者False(1,0等數(shù)字也可以)

由此,使用filter函數(shù)的關鍵,就是如何生成符合條件的布爾值數(shù)組,也就是如何輸入條件。

下文提供常見的filter函數(shù)篩選條件案例,可參照學習。

1.1 filter單條件

按行篩選出年齡大于60的數(shù)據(jù)。

=FILTER(A2:C8,C2:C8>60)

按列篩選出姓名和年齡。

=FILTER(A2:C8,{1,0,1})

條件式中的{1,0,1}就是一組單行的布爾值數(shù)組,分別對應姓名、性別和年齡,其中大于等于1則提取保留,等于0則剔除,此處直接寫了條件式結果。

1.2 filter同時滿足多個條件

按行篩選性別女且年齡大于50的數(shù)據(jù)。

=FILTER(A2:C8,(B2:B8="女")*(C2:C8>50))

注意多個條件同時滿足情況下,使用 * 將多個條件相乘,此處不適用and函數(shù),是由于and函數(shù)的最終結果是唯一值,不是數(shù)組。

把條件寫在單元格內(nèi),最終結果如下圖所示。只有全部滿足,結果才為1。

1.3 filter滿足多個條件中的任意一個條件

按行篩選性別女或年齡大于50的數(shù)據(jù)。

=FILTER(A2:C8,(B2:B8="女")+(C2:C8>50))

與同時滿足條件相比,唯一的區(qū)別就是多個條件之間使用+相加,此時,只需有一個滿足,那么結果至少會大于1。

1.4 filter同時滿足兩個條件或滿足其他任意一個條件

按行篩選年齡小于等于60且性別為女,或者年齡小于30的數(shù)據(jù)

=FILTER(A2:C8,((B2:B8="女")*(C2:C8<=60))+(C2:C8<=30))

存在較為復雜的條件時,直接使用括號將對應條件合并成另一個新條件,再進行運算。

例如需求中的第一個且條件里的多個條件相乘,然后合并在一起與另一個條件相加做或條件。

2. 使用普通if函數(shù)代替實現(xiàn)filter函數(shù)效果

如果軟件版本沒有filter,也想實現(xiàn)類似的效果,可以使用if函數(shù)搭配數(shù)組公式實現(xiàn)。

當然,不支持動態(tài)數(shù)組的軟件版本,還是要按照原本的數(shù)組公式錄入方法進行使用。

數(shù)組公式使用方法

  1. 需提前選中承接數(shù)組公式結果的單元格區(qū)域

  2. 再輸入數(shù)組公式

  3. 最后需要按數(shù)組確認鍵 CTRL+SHIFT+回車 確認公式

具體使用,可以參考下方案例直接套用公式:

2.1 單條件篩選

=SORT(IF(B2:B8="男",A2:C8,""),,-1)

由于單獨使用if篩選,會導致不符合條件的數(shù)據(jù)變成空值,且留在原有的位置,因此使用sort函數(shù),將其按倒序排序,使其符合條件的值保留在上方。

不好的點在于最終會對結果數(shù)據(jù)進行排序,如果要不進行排序操作,直接剔除空值數(shù)據(jù)的做法會很復雜,不建議使用。

2.2 多條件篩選

同時滿足情況下用*鏈接所有條件,或條件情況下用+鏈接。這與filter的多條件用法保持一致。

=SORT(IF((B2:B8="男")*(C2:C8>60),A2:C8,""),,-1)

if函數(shù)篩選的其余情況基本與filter函數(shù)的使用條件一致,靈活創(chuàng)建條件式生成的布爾值,可以實現(xiàn)不同的效果。

比如在之前發(fā)布的unique函數(shù)文章中(可看主頁文章列表),我們就利用了match函數(shù)與row函數(shù)定位了不重復數(shù)據(jù)的位置。

由此,你也可以生成對應的布爾值數(shù)組,可以用來給if函數(shù),直接返回所有的不重復數(shù)據(jù),感興趣的同學,歡迎評論留言。


還在手動篩選數(shù)據(jù)?試試filter這個數(shù)組函數(shù),真香!的評論 (共 條)

分享到微博請遵守國家法律
香港| 任丘市| 景宁| 阳原县| 焉耆| 明溪县| 项城市| 青岛市| 阳江市| 山丹县| 聂拉木县| 育儿| 扎赉特旗| 汶上县| 于都县| 岗巴县| 承德市| 宝鸡市| 筠连县| 齐河县| 镇沅| 高清| 右玉县| 常州市| 绥滨县| 舟曲县| 仪征市| 安达市| 泸西县| 永德县| 凤庆县| 蓬莱市| 贞丰县| 武山县| 东方市| 文昌市| 华容县| 犍为县| 九江县| 白沙| 博客|