This is my data
Region Value
East 9800
East 5592
East 6966
West 5418
When I do
=AVERAGE(IF(A2:A5="East",B2:B5)) CTRL+SHIFT+ENTER
I get
7452.667
Which is the right answer. But when I do
=AVERAGE(IF(A2:A5="East",B2:B5)) ENTER
I don't get an error. I get
6944
If I just typed
=IF(A2:A5="East",B2:B5) ENTER
I get
9800
So 6944 is not the average of 9800. What is Excel doing here?
When I do
=IF(A2:A5="West",B2:B5) ENTER
I get
FALSE
So it looked like IF is reading the first row.. but then something weird happens to Average(If())
I have one/two question(s) and one prayer:
Questions: What is excel doing to arrive at 6944? Why did I not get an error when I did ENTER instead of CTRL+SHIFT+ENTER and is there any way to remind excel to tell me to do the right thing when dealing with Arrays?
Prayer: I can only hope that I have not produced a lot of garbage in the last few weeks when I have neglected to to CTRL-SHIFT-ENTER and done ENTER by mistake and not gotten errors and ran with what I got.
.HasArrayproperty ofRangeobject to check whether the formula is an array formula. You could design a small protective mechanism to for example display a message when you touch /click a cell with an array formula (CSE -ctrl-shift-enter). On the other hand, if you're entering a formula for the first time and forget to hit CSE you may want to think about your file structure and create a sub to check if an array formula should be expected