Firstly, we are searching for "Retail" in the cells, SEARCH() results in a numeric position if the string is found, and #VALUE! error if not found... so we need to find all the cells which SEARCH() resulted in numeric results (positions were determined). All we need to know is if a number was returned (we don't care what number).. so ISNUMBER() checks if SEARCH() returned a numeric result... ISNUMBER() then shows its results as TRUE (if numeric) and FALSE (if not). The -- then coerces the TRUEs and FALSEs to 1s and 0s, respectively, so we can carry on and do the SUMPRODUCT() math. ... now go catch lots of fish