Theory Question

Stephen_IV

Well-known Member
Joined
Mar 17, 2003
Messages
1,171
Office Version
  1. 365
  2. 2019
Platform
  1. Windows
after reading some recent posts i have come across some Question.

What does STATIC mean?

STATIC in regards to formulas and cell references?

What does Dereferencing mean?
 

Excel Facts

Waterfall charts in Excel?
Office 365 customers have access to Waterfall charts since late 2016. They were added to Excel 2019.
Stephen_IV said:
after reading some recent posts i have come across some Question.

What does STATIC mean?

STATIC in regards to formulas and cell references?

What does Dereferencing mean?

Suppose that you want a formula that sums the range A2:A5 even if you insert a row before that range or within that range. The requirement boils down to have the target range unchanged...

INDIRECT in

=SUM(INDIRECT("A2:A5"))

effects the requirement.

Dereferencing means making available the values a reference is housing. In some situations, this is only possible by effecting a second round of evaluation.
 
Upvote 0
thank you guys!

Aladin can you give me Example ?



thank you
 
Upvote 0
sorry i ment can you give me an Example of the DeReferencing?
 
Upvote 0
Stephen_IV said:
thank you guys!

Aladin can you give me Example ?



thank you

Stephen,

There are actually a few threads here you can track down using "dereferencing" and "deferencing" (as often misspelled by me :whistle: ) as keywords and at microsoft news groups(searchable via Google).

I believe it's Longre who has used the term "dereferencing" while I used to use "second round of evaluation" for the same phenomenon. Here an example I found on my hard disk...

Let D1:S1 house the following:

{"text",3,"text",21,32,3,"text",32,"text",50,9,2,4,"","",""}

where "" stands for an empty cell (not for a formula blank). The following array formula is meant to compute the average of the last 4 numbers:

[1]

{=AVERAGE(INDIRECT(ADDRESS(1,LARGE(IF(ISNUMBER(D1:S1),COLUMN(D1:S1)),{1,2,3,4}))))}

This just returns 4.

If you evaluate this subexpression

INDIRECT(ADDRESS(1,LARGE(IF(ISNUMBER(D1:S1),COLUMN(D1:S1)),{1,2,3,4})))

on the Formula Bar using F9, we see...

=AVERAGE({4,2,9,50})

If we evaluate this with F9, we get...

16.25

which is the expected result the formula in [1] is unable to compute.

The following formulas however give us the expected result...

[2]

=AVERAGE(N(INDIRECT(ADDRESS(1,LARGE(IF(ISNUMBER(D1:S1),COLUMN(D1:S1)),{1,2,3,4})))))

[4]

=AVERAGE(AVERAGE(INDIRECT(ADDRESS(1,LARGE(IF(ISNUMBER(D1:S1),COLUMN(D1:S1)),{1,2,3,4})))))

N in [3] and the additional AVERAGE in [4], a second round of evaluation, dereferences what INDIRECT actually returns for the surrounding AVERAGE.

Aladin
 
Upvote 0

Forum statistics

Threads
1,215,829
Messages
6,127,129
Members
449,361
Latest member
VBquery757

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top