Is there any better way to improve my formula? - excel-formula

So I am using SharePoint online sheets and I have a formula which uses the below formula to pull a specific sheet.
The objective was to pull the latest data from an external sheet.
IFS(AND(TEXT(TODAY(), “MMMM”)=“March”, TEXT(TODAY(), “YYYY”)=“2021”),’url’[file]March 2021’$A$3
So at the moment I am creating a master sheet where this formula resides, the formula is essentially a data dump of a specific file containing sheets with name “Month Year” being the respective month and year. Essentially a full workbook would contain January to December of 2021.
Right now I am thinking of querying each file specifically due to being unable to use a cell reference in my external file call.
I want to know if there is a better way than having to call each sheet specifically to conditions using IFS? It would be a long formula.

Related

Excel 2010 VBA: Using Relative references across multiple workbooks

I'm attempting to design a macro to simplify the update process for my company's order tracking, and I'm struggling with relative references. I'm using Excel 2010.
what I need the macro to do: Find a given part number on one workbook, and use the row number of to update formulas in a a second workbook.
In more detail:
Where |Y|= column letter of original spreadsheet, |X|= row number of original spreadsheet, and |X^|=Row number of ‘All Inventory.xls’
There are 4 separate spreadsheets I would need to run the macro from (It’d be a lot easier if I could have the 4 as separate pages on one spreadsheet, but unfortunately, my boss is 60 and is a bit fuzzy on how excel works.)
The spreadsheet ‘All Inventory.xls’ is not in table form, and I can’t convert it to one. (the guy who runs inventory is very fuzzy on how spreadsheets work, approximately five years from retirement, and about as friendly as a snapping turtle.)
When run from cell |Y||X| in a table:
Copy content of the cell in table column ‘Part #’ in the same row – structured reference [#[Part #]]|X|
Paste content of cell ‘[#[Part #]]|X|’ into Find/Replace
Switch to spreadsheet ‘All Inventory.xls’
Hit ‘find next’ – will land on cell C|X^|
switch back to original spreadsheet
return to original cell |Y||X|
type “=’[All Inventory.xls]Sheet1’!$E$|X^|”
go to cell |Y+1||X|
type “=’[All Inventory.xls]Sheet1’!$G$|X^|”
go to cell [Y][X+1]
End macro
I've tried recording this directly, while using relative references. Excel didn't like that. I'm not sure where to go from here.

Excel - Change source of chart data depending on text in cell

I have one excel file in which I have multiple sheets with financial statements from different companies (called Databas.xlsx). The structures of these sheets are identical. Then I have another excel file that I wish to use to analyse these financial statements using charts. Thus, I must get data from the different sheets into my analysis file. Doing this from one sheet is no problem, as I can simply create a chart and mark the data I need from this sheet, so that the chart data range would be something like this:
=[Databas.xlsx]Kopparbergs!$C$3:$K$3
where "Kopparbergs" is the sheet name in Databas.xlsx. The problem I am facing is that I want to be able to change the sheet name that is put into this formula by writing the name in a cell (because that would enable me to change multiple charts at once). So just to clarify, in the formula written above, I want to be able to change the word "Kopparbergs" by writing text in a cell. If that is not possible, how would I accomplish this? That is, how do you create a chart that can change its content depending on a text in a cell that corresponds to a sheet?
So rather than using Indirect I think you need to use two named ranges for referencing when using a Chart.
This previous answer looks like a good guide to implement (not sure about etiquette of just copy & pasting previous answers so I'll just provide the link):
Dynamic chart range using INDIRECT: That function is not valid (despite range highlighted)

Reference another Excel Worksheet via a Keyword

I am not sure if this is too ambitious. Currently I'm generating a bunch of pivot tables through our server (I won't go into detail) but our main stocktaking spreadsheet references these generated pivot tables weekly and pulls their figures through.
i.e using code ='C:\Users\ITS1\Documents\Test\Establishment\190303[Stocktake.xlsx]Data4'!$D$3 which is simple enough - just referencing whatever figure is in that cell on the pivot table.
There is a particular bunch of figures on some pivot tables each week called 'Redemption' which, depending on what other kind of sales an establishment generates, shift to different cells each week. So I can't reference them like other figures which are always fixed to the same cells on every generated pivot table.
Is there a way I can reference the pivot table by the keyword 'Redemption' and take the figure from the cell directly next to it which is the actual figure we need to record?
While this isn't hugely urgent, it would be quite handy. These figures can just be manually entered but just trying out some automation to eliminate my human error :)
If you don't want to have to open the external workbook, this approach might be feasible:
In the external workbook, create a helper sheet that uses a formula to look up the Redemption field value. This could possibly be done with a GetPivotData formula. The exact formula depends on your data and without seeing that I can't write it.
The idea here is that the helper sheet and the location of the cell on the helper sheet does not change. When the pivot table is refreshed, the formula calculates the result.
In the other workbook you can now use an absolute reference to that helper sheet and cell and don't need to open the external file to retrieve the value.

Load single cell in query in excel

I have n excel files with the same layout, and i want to create a recap file where some info is reported for each file. The info is located in the same specific cells, for example d2 and e2 in every file.
What is the best way to do it? The file names vary without logic and that people that access that file have no skills in coding and macro, so i try to develop something very simple.
I also have no skill in database, but i have managed to create a query with every file in the folder, i have then created a column with the data but i am not able to say that i only want a specific cell, is there a way to do it?
here is a picture of the situation
A formula using INDIRECT can be used, but it will generate a #REF error when the workbook is closed. you could use your macro to open the relevant workbook, and then close it after saving the values
the indirect formula would look something like this:
=INDIRECT("'[Test File.xlxs]Test Data'!$A$7")
or, as a formula using your data:
=INDIRECT("[" & B1 & "]YourSheet!$E$2")

Dynamically specify worksheet without indirect() in Excel

In my database, I have created separate worksheets for different sources of data, to make the database more structured for the users. In the summary page I created, I would like to dynamically refer to these worksheets, to easily visualize the data.
The "sheet selection" looks as follows.
Site should determine from which sheet the data comes. Afdeling and Data are columns in these sheets, and its values are used to find the data range (row start and row stop).
In this excellent question and answer, it is explained how to dynamically refer to a specific data range by Function, without the use of Indirect() (Why I don't want indirect). However, it does not answer how to refer to a sheet.
Is it possible to select the worksheet in an excel file by function, without using Indirect()?

Resources