Sharanjit points out that database functions (like DGET()
and DSUM()
) use a “starts with” operator as the default criteria comparison operator. Sharanjit expects, as would I, that it would use an “equals” operator. An example:
The functions on row 16, with a criteria of ‘Low’ find all records (both in this case) that start with ‘Low’ not just those that equal it. Including the equal sign as in E20 fixes it, but it’s odd behavior nonetheless.
Personally, I haven’t used a Dfunction since I learned about array formulas. They calculate considerably faster than arrays, but having the criteria in a separate range goes against nature, and I refuse to participate.
I’ve always taken the view that the DFunctions were only there for compatability with Lotus123 and ought to be avoided. I was initially surprised at your assertion that they calculate faster but I can see why. I’ll carry on avoiding them in favor of array formulas.