I have a lot of formulas referencing other files and it's bothering me to manually change the cell on the file path cell. He tries to connect cells, but he gives me pure text without a formula. I remember that on Excel 2010 it worked, but for 2013 I have a problem. Below is an example
Thanks
try formula "address". It helps to construct path to the needed cell within other workbook.
Related
I would like some help, to find out how I would be able to write the below formula in VBA;
=IF((COLUMNS($G13:G13)<=$F13),INDEX(DateHeadings,,SMALL(IF(TableBodyRow="E",COLUMN(DateHeadings)-4+1),COLUMNS($G13:G13))),"")
I can use the excel formula as is, but unfortunately when the named range "TableBodyRow" is used it creates an absolute reference when I need a relative one. Unless there is a solution to change that without having to go back into "Name Manager".
Thank you
If you want the dumb answer here it is. Copy your formulas to your clipboard then run record macro. Select a cell and paste the formula from the clipboard into it. End record macro, and now you have your answer.
Excel changes formulas when I open the referenced workbook, and wont change them back. Original Formula:
=IF(condition;'\\sharepoint.host.com\path\[Filename.xlsx]Sheetname'!A1;"")
by Excel modified formula:
=IF(condition;'\\sharepoint.host.com\path\[Filename.xlsx]#REF'!A1;"")
I have a few hundred of those formulas and already made a VBA-script to replace all occurences of "#REF" by the correct SheetName, so technically I have a workaround. And it works well.
But WTF?!? Why would Excel do this? And how can I stop/prevent this?
This is not related to copying cells within Excel.
Excel will put #REF when a sheet is deleted or, for some reason, becomes inaccessible.
The same happens if a cell is deleted. Had this happen when I have deleted the wrong column by accident. One reason I only ever work on a copy and keep backups.
I have the below working formula:
=SUMPRODUCT((INDEX(C:C,MATCH("Heading 1",E:E,0)):INDEX(C:C,MATCH("Heading 2",E:E,0))="EUR")*(INDEX(V:V,MATCH("Heading 1",E:E,0)):INDEX(V:V,MATCH("Heading 2",E:E,0))<10)*INDEX(L:L,MATCH("Heading 1",E:E,0)):INDEX(L:L,MATCH("Heading 2",E:E,0))/INDEX(F:F,MATCH("Fund Valuation",E:E,0))*INDEX(V:V,MATCH("Heading 1",E:E,0)):INDEX(V:V,MATCH("Heading 2",E:E,0)))
When I apply this to a different workbook and then amend to add the full file pathway to each column array, the formula only works if the source file is open. Once it is closed, a #REF! error is returned.
Note, when amending the formula to work on a different workbook I would use the full file pathway. E.g:
=SUMPRODUCT((INDEX('C:\Reports\[Budget.xlsx]Annual'!C:C,MATCH("Heading 1",'C:\Reports\[Budget.xlsx]Annual'!E:E... etc
How can I get my formula to work when the source file is closed?
Appreciate any help.
first my apologies for being a noob with regard to Excel Formulas - I did search and did not find an answer.
I have a spreadsheet that I am trying to modify. I got two spreadsheets from a client, who gave me a working copy and one that he had modified. There is a #REF error in the modified version. If I look at the working copy the formula looks like this.
=VLOOKUP($C$1,'Client Rates'!$A$2:J$228,5,FALSE)
As you can see it has quote marks in the table_array parameter because it does have a space in it. However I cannot enter it this way as it throws an error every time I try. Error is something like this - 'There is a problem with this formula. Not trying to type a formula? ... '
How can I enter the work sheet as a parameter with spaces in the name into the formula?
Did you try F2 to edit formula directly. Then highlight section of formula you wish to change then select the actual data you want evaluated by the formula?
Excel will create the correct string for the sheet and area reference for you.
The problem is you are trying to copy and paste directly from on workbook to another. Copying ctrl-c and pasting ctrl-v from one workbook to another may not have the desired effect. If you copy first to notepad or some other text editor and then paste from that text editor all works fine.
I have 3 workbooks - Parent1.xlsx and Child.xlsx
Parent1.xlsx has data that will be referenced by Child.xlsx through vlookup.
The vlookup formula is
=VLOOKUP(1,[Parent1.xlsx]Sheet1!$A$1:$B$7,2,FALSE)
That works fine.
Now I have to make a copy of Parent1.xlsx to Parent2.xlsx.
In order for Child.xlsx to work I have to change the formula to
=VLOOKUP(1,[Parent2.xlsx]Sheet1!$A$1:$B$7,2,FALSE)
That is ok if its just for 1 cell, but I need to do it for many cells.
To fix this, I plan to used a named range for the file name. So in Sheet2 of Child.xlsx, I have a named range "parent" that has the name of the file - Parent2.xlsx.
I can't seem to get that to work.
If the value for the named range "parent" is
'[Parent2.xlsx]Sheet1'
then I'm trying to get
=VLOOKUP(1,parent!$A$1:$B$7,2,FALSE)
to work.
Is this even possible? Other than copy pasted everything and using VBA, is there another possibility?
Thanks
If you just need to change all the external references to the file Parent2, rather than Parent1, choose the Data tab, Edit Links and click Change Source.
Try:
"=VLOOKUP(1," & ActiveWorkbook.Names("parent").Value & "!$A$1:$B$7,2,FALSE)"
Edit: just realized this is the VBA solution. This won't work in a cell formula.