|
函數(shù)FILTER執(zhí)行多條件篩選時有一條定律:多個條件同時滿足,條件之間用星號(*)連接;滿足其中部分條件,條件之間用加號(+)連接。由此還形成兩個模板化公式: FILTER(篩選數(shù)據(jù),條件1*條件2*條件3……) FILTER(篩選數(shù)據(jù),條件1+條件2+條件3……) 本著知其然,還要知其所以然的精神,來一探究竟吧。 先來了解3個知識點。 1.FILTER篩選TRUE對應的數(shù)據(jù)。 B列是要篩選的數(shù)組,C列是手動輸入的條件。 =FILTER(B3:B10,C3:C10) 結(jié)論:FILTER篩選出第二參數(shù)中TRUE對應的數(shù)據(jù)。 這是函數(shù)FILTER的底層邏輯。
把條件改為數(shù)字,FILTER篩選出所有非0數(shù)字對應的數(shù)據(jù): =FILTER(B3:B10,C3:C10) 結(jié)論:非0數(shù)字=TRUE,0=FALSE
TRUE與FALSE的四則運算 回憶一下四則運算,加減乘除。 TRUE和FALSE參與四則運算時:TRUE等同于1,F(xiàn)ASLE等同于0.
模板公式中的星號為乘法運算,加號為加法運算。 現(xiàn)在,把以上3個只是點串聯(lián)起來,嘗試著理解這個公式: =(C3:C10>35)*(D3:D10="男") C3:C10>35:年齡大于35,這個表達式將返回一個由TRUE和FALSE組成的數(shù)組。 D3:D10="男":性別為“男”,這個表達式也會返回一個由TRUE和FALSE組成的數(shù)組。 兩個數(shù)組相乘,當且僅當兩個TRUE相乘時才會得到非0數(shù)字。意味著把它作為FILTER的第2參數(shù)時,兩個條件都成立的才會被篩選。
兩個條件相加時,只要其中一個是TRUE,結(jié)果就是非0數(shù)字;意味著只要其中一個條件成立,就會被篩選出來。 ![]() 說出需求,自動幫你寫好VBA代碼!
如何把這些知識表達清楚是一件比學習它們更困難的事。即使無法完全理解,也希望這些信息對你有所幫助。 |
|
|
來自: 昵稱72339616 > 《待分類》