Forum Discussion
Trying to figure out if I use CountIF, CountIFs with multiple criteria and logic.
- Mar 23, 2019
PeterBartholomew1 , IMHO the main question here is what we consider as empty cell. That could be the blank cells (no content at all) only, or blank cells and cells with empty string ("", which we usually use to imitate blank cells). If do small test we will see the difference
Here two yellow cells are with empty string and one cell is blank. Total 6 cells, 2 empty plus 1 blank.
COUNTA() doesn't consider cells with empty strings as blank and count them, same do COUNTIFS(). Just in case, COUNTBLANK() in opposite counts both blank and empty ans blanks. SUMPRODUCT() does correct calculations excluding all cells with empty strings and blank ones. Variant with LEN() is more straightforward and gives less reasons for misinterpretations.
As for @ that's not wildcard, only the character which is more close to the beginning of ASCII table compare to other characters. However, # is even earlier plus any number is always less than any text, thus formula counts only the cell with a1.
Back to initial question I'd use SUMPRODUCT like
=SUMPRODUCT((B2:B206="SU036")*(LEN(E2:E206)>0))
What do you think of ">@" as a test for the existence of text?
It attempts to combine Armanda406's idea of COUNTA with the IFS formula structure.
PeterBartholomew1 , IMHO the main question here is what we consider as empty cell. That could be the blank cells (no content at all) only, or blank cells and cells with empty string ("", which we usually use to imitate blank cells). If do small test we will see the difference
Here two yellow cells are with empty string and one cell is blank. Total 6 cells, 2 empty plus 1 blank.
COUNTA() doesn't consider cells with empty strings as blank and count them, same do COUNTIFS(). Just in case, COUNTBLANK() in opposite counts both blank and empty ans blanks. SUMPRODUCT() does correct calculations excluding all cells with empty strings and blank ones. Variant with LEN() is more straightforward and gives less reasons for misinterpretations.
As for @ that's not wildcard, only the character which is more close to the beginning of ASCII table compare to other characters. However, # is even earlier plus any number is always less than any text, thus formula counts only the cell with a1.
Back to initial question I'd use SUMPRODUCT like
=SUMPRODUCT((B2:B206="SU036")*(LEN(E2:E206)>0))
- PeterBartholomew1Mar 23, 2019Silver Contributor
Thanks for the summary; there is still a certain amount of trial and error with my formula development in this area. I selected and have used ">@" on occasion because it comes before 'A' in the ASCII sequence. Mind you the sort order is not always obvious when it comes to mixes of numbers, letters, non-alphanumeric characters and spaces.