Data Table refresh

Seamus2626 used Ask the Experts™
On the attached ss, the two blue tables are linked to an Access Database and are refreshed via the button.

As you can see they cover rows 20-40

On refresh, some rows will be lost making the range more like 20-36

The data in A1:I16 is reading these data tables, so unless the data tables always have 20 rows, i get ref errors.

How can i essentially lock those data tables so they will always show 20 rows and if there is no data, they are just blank

Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Hi, Seamus2626.

Assuming that the data in A1:I16 is reading the tables by formula, could you post a copy with the formulas, please?





Please see attached. Let me know if you want an explanation for the two formulas.

OWASP Proactive Controls

Learn the most important control and control categories that every architect and developer should include in their projects.


Hi Brian,

Thanks for the attached.

Can you please explain the formula?

Surely, Seamus2626.

Before we start, I've not explained the following two items, so let me know if you need anything on them or are on unclear on anything mentioned below...
1*False = 0
Difference between B11, $B11 and B$11.

SumProduct takes up to 255 arrays, multiples them together to produce a single array (SumProduct) and then adds together all the elements in that array (Sumproduct) producing a single figure.

In your case, there are three arrays, so looking at B11 (I'll explain why that cell later)...
1st Array
1*(Table_New_Global_US_Ops_Control_Database_1[Reporting Status]=$A11)
This firstly compares every entry in the Reporting Status column of the second table to the appropriate Reporting Status ($A11), giving us the following array...
... which is then multiplied by one to give us...

2nd Array
1*(Table_New_Global_US_Ops_Control_Database_1[Age Bucket]=B$10&"")
This firstly compares every entry in the Age Bucket of the second table to the appropriate Bucket Range (B$10), giving us the following array...
... which is then multiplied by one to give us...

3rd Array
Table_New_Global_US_Ops_Control_Database_1[SumOfGBP Equiv]
Simply all the values from the SumOfGBP Equiv column of the second table...

Multiplying the three arrays together gives...
...and the final step of summing them produces the value shown...

Why didn't I use B2 for my example? Confession time - the formulas in B2:F7 were incorrect as they used the headings in row 10 instead of row 1 and those in A11:A116 instead of A2:A7. (Of course the actual results were correct because the two sets of headings happened to be the same.)

Apologies. The attached corrects this.

Please let me know if there's anything I've left unclear.



Thats spot on Brian!

This is just what i needed!

Thanks, Seamus2626, glad to help!

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial