How to include OR in Array formula where ONLY SOME criteria need to be TRUE - Excel

后端 未结 2 628
闹比i
闹比i 2020-12-22 04:30

I am trying to count the number of rows that: 1) have entries for all columns, and ii) have at least one value that meets a column-specific criterion.

Here\'s an ex

相关标签:
2条回答
  • 2020-12-22 05:01

    Very interesting question.

    Array formula**:

    =SUM(N(MMULT(IF(MMULT(N(A1:D4=""),TRANSPOSE(COLUMN(A1:D4)^0))=0,COUNTIF(OFFSET(A1,ROW(A1:D4)-MIN(ROW(A1:D4)),COLUMN(A1:D4)-MIN(COLUMN(A1:D4))),{">2",">2","<2",">4"}),0),TRANSPOSE(COLUMN(A1:D4)^0))>0))

    Edit: Without the presence of blanks within the range, this could be simplified greatly to:

    =ROWS(A1:D4)-COUNTIFS(A1:A4,"<=2",B1:B4,"<=2",C1:C4,">=2",D1:D4,"<=4")

    since, logically, to obtain the number of rows for at which at least one condition is true, we can calculate the number of rows for which none of those conditions are true and subtract that value from the total number of rows.

    In fact, it may well be possible to adapt this set-up to account for blanks as well. Will look into it.

    Update: Indeed, I believe this will work:

    =ROWS(A1:D4)-COUNTIFS(A1:A4,"<=2",B1:B4,"<=2",C1:C4,">=2",D1:D4,"<=4")-COUNT(1/N(MMULT(N(A1:D4=""),TRANSPOSE(COLUMN(A1:D4)^0))>0))

    Regards

    **Array formulas are not entered in the same way as 'standard' formulas. Instead of pressing just ENTER, you first hold down CTRL and SHIFT, and only then press ENTER. If you've done it correctly, you'll notice Excel puts curly brackets {} around the formula (though do not attempt to manually insert these yourself).

    0 讨论(0)
  • 2020-12-22 05:11

    Can I offer as a kind of lemma to @XOR LX's brilliant answer that you might be able to do this:

    =COUNTIFS(A1:A4,"<>",B1:B4,"<>",C1:C4,"<>",D1:D4,"<>")-COUNTIFS(A1:A4,"<=2",B1:B4,"<=2",C1:C4,">=2",D1:D4,"<=4")
    

    i.e. The number of rows not containing a blank minus the number of these which don't fulfil any of the conditions.

    0 讨论(0)
提交回复
热议问题