I received an Excel file which has the following formula:
= Indirect(H9&"1:1")
I understand Indirect formula but what is &"1:1"?
When leaving out both "'s this will refer to the first row. (It will refer to the cell in the first row in the same column as you typed your formula).
If cell H9 it's value is a letter (for instance: A) and the first row value is 5 the indirect function refers to A5.
If H9 refers to a sheet name you can leave the "'s as is and it will refer to the entire first row of the referenced sheet.
Related
I am trying to use the indirect function in Excel to build a formula to return a value on another sheet.
On Sheet A cell D3 has the value B
I want to use the value B to return a value from cell B6 in a Sheet called App Summary.
I tired the below formula on Sheet A:
="'App Summary'!"&Indirect("D3") & 6
This return the string 'App Summary'!B6.
How do I get it to calculate so that is returns the value in cell B6 from the App Summary Sheet?
I usually put the whole statement in the Indirect() function and use '&' to connect parts that are direct quotes with parts that are dynamic.
Example: =INDIRECT("'Workbook A'!A"&A1) will return the value in 'Workbook A'! that is located in column A, at the row indicated by the number in the current sheet's A1. If A1 is 1, this will return the value in 'Workbook A'!A1.
You might try =Indirect("'App Summary'!"&D3&"6"). I'm assuming you want to use a column from another sheet who's value is stored in D3 of the current sheet and look in the 6th row on the Summary sheet.
Given a cell, I'm looking for a function and formula solution which returns its column. For instance,
Given Cell G3, I expect the formula to return Column G:G (rather than the string G:G and the column number 7)
Given Cell H8, I expect the formula to return Column H:H (rather than the string H:H and the column number 8)
Such a solution does not seem to exist in Excel today. Could anyone help?
PS: Given a Cell B3, I'm looking for a formula to return the result like what is displayed in Column I.
How about =SUBSTITUTE(INDEX(A:D,,COLUMN(B3)),"","") which will return blank if blank and 0 if value 0 in the referenced column.
I also only referenced the first 4 columns, since your search/example data starts from column 5. Excel would then always reference up untill the last row regardless the version.
I have a simple formula in cell B7 of a sheet called Summary Stats that references a sheet called Rolling Returns Data:
=COUNT('Rolling Returns Data'!C$11:C$17202)
I want to be able to dynamically reference the column in the formula i.e. I have letter C in cell B1 of the Summary Stats sheet and want to be able to replace the reference to column C in the formula with a reference to cell B1, so that if I then change the formula that calc. that is then being performed is:
=COUNT('Rolling Returns Data'!D$11:D$17202)
As Scott Craner suggested, use INDIRECT.
=COUNT(INDIRECT("'Rolling Returns Data'!"&A1&"$11:"&A1&"$17202"))
Now you just have to put the letter of the column you want to reference. You can of course change the A1 reference to anything you'd like. Or you can change the code to the following
=COUNT(INDIRECT("'Rolling Returns Data'!"&A1))
and use A1 to specify the address of your column, in this case "C$11:C$17202".
If you're ok using column numbers rather than column letters then this non-volatile formula will work:
=COUNT(INDEX('Rolling Returns Data'!1:17202,11,$B$1):INDEX('Rolling Returns Data'!1:17202,17202,$B$1))
If you really want to use column letters then you can turn a column letter into a column number using:
=COLUMN(INDIRECT($B$1 & 1))
But then you lose the non-volatile nature.
Edit:
If you use the column numbers and leave B1 blank it will return the count of all columns.
=Indirect("'App Summary'!"&$D$4&"18")
I have two worksheets, Sheet 1 and App Summary. On Sheet 1 in cell D4 I have a column lookup based on a value typed in cell B2. So for instance, if I type in July in cell B2 of Sheet 1, it will place H in cell D4 of Sheet 1. If I type in June in cell B2 of Sheet 1, then it will place G in cell D4 of Sheet 1. Using the above indirect formula, I look up a value in App Summary using the column reference in cell D4 on Sheet 1.
My question is the following. Is there a way to make the above formula dynamic so that if I add a row to the App Summary sheet it will automatically adjust the row in the formula? For instance in the above example lets say I am referencing H18 in the app summary sheet. If I add a row in the app summary sheet just before H18, how do I get the formula on sheet 1 =Indirect("'App Summary'!"&$D$4&"18") to update to =Indirect("'App Summary'!"&$D$4&"19") since the row it was referencing shifted down one?
Assuming from I am referencing H6 in another sheet , the other sheet is App Summary use
=INDIRECT("'App Summary'!"&D3&ROW('App Summary'!$A$6))
If you can be certain that any additional rows in App Summary will be added as right-click and Insert row, then you could reference the a cell in the last row with an absolute reference (using dollar signs to fix the reference).
Another approach would be to convert your App Summary to an Excel table (ctrl + t) and then use structured referencing. That way, you are not vulnerable to the changing structure of the App Summary sheet (except if you change column headings).
I am trying to use the indirect function in Excel to build a formula to return a value on another sheet.
On Sheet A cell D3 has the value B
I want to use the value B to return a value from cell B6 in a Sheet called App Summary.
I tired the below formula on Sheet A:
="'App Summary'!"&Indirect("D3") & 6
This return the string 'App Summary'!B6.
How do I get it to calculate so that is returns the value in cell B6 from the App Summary Sheet?
I usually put the whole statement in the Indirect() function and use '&' to connect parts that are direct quotes with parts that are dynamic.
Example: =INDIRECT("'Workbook A'!A"&A1) will return the value in 'Workbook A'! that is located in column A, at the row indicated by the number in the current sheet's A1. If A1 is 1, this will return the value in 'Workbook A'!A1.
You might try =Indirect("'App Summary'!"&D3&"6"). I'm assuming you want to use a column from another sheet who's value is stored in D3 of the current sheet and look in the 6th row on the Summary sheet.