Automatic filling of Stock price - arrays

I have a list of scrips of stock market. When I add a new scrip in a new row, I would like to automatically fill its current price using GoogleFinance function of google sheets.
In the attached google sheets, Column A contains the mnemonics of the scrip from which column B calculates the current price. When I add a new scrip, I copy the formula to the new row. How do I achieve it automatically?

GOOGLEFINANCE is already a type of ARRAYFORMULA so it is not supported under ARRAYFORMULA. this means that it is not possible to process your A column with one single formula. you have only two options how to do this:
use script which will detect new entry in A column and insert single-cell GOOGLEFINANCE formula adjacent to it
hardcode it like:
=IFERROR({GOOGLEFINANCE("NSE:"&A2);
GOOGLEFINANCE("NSE:"&A3);
GOOGLEFINANCE("NSE:"&A4);
GOOGLEFINANCE("NSE:"&A5);
GOOGLEFINANCE("NSE:"&A6);
GOOGLEFINANCE("NSE:"&A7);
GOOGLEFINANCE("NSE:"&A8);
GOOGLEFINANCE("NSE:"&A9)})

Related

ArrayFormula to automatically calculate one column

I want an array formula to use with Google Forms data to automatically calculate running metrics on my data.
In this case, in column Q, AE and AS I want it to auto-calculate whenever new responses come in.
I'm trying to use this formula below but isn't working for all column, just for the first line.
={arrayformula(if(len(AF3:AF);SUM(vlookup(AF3:AR3;$A$1100:$B$1101;2;0));))}
I want a sum of all words that contain "Verdadeiro" in a row.
What I'm doing wrong?
My Google Sheet:
https://docs.google.com/spreadsheets/d/1AVQ772IIXI-xZza0fecTTCe4S-Ku9rL1houTMnQZpbo/edit?usp=sharing
try in row 1:
={"Total AG";""; ARRAYFORMULA(IF(A3:A="";;
MMULT(N(REGEXMATCH(A3:AR&""; "Verdadeiro")); SEQUENCE(COLUMNS(A3:AR))^0)))}

Can you create dynamic formulas in Google Sheets?

So I'm just starting out creating a portfolio tracker within Google Sheets. I'm using the Google Finance methods to get the stocks name and all the relevant data that I need. The only issue is that I can't figure out how to populate the specific data I need without having to manually type out the same formula's for each stock I want data for.
For example... Each row in the first column would contain the ticker symbol for that specific stock. If I bought a new stock, I would just type in the ticker symbol in cell A1 and this would populate the necessary fields such as price and so on. If I bought another stock I would essentially do the same thing but now in A2.
I know that you can get the price of a stock by doing
=GOOGLEFINANCE(A1, "price")
but is there any way to make it dynamic? something like:
=GOOGLEFINANCE(A(Row(ref)), "price")?
Any suggestions would be helpful. Maybe there's even an addon that makes this process simpler, but I'm not sure.
try:
=ARRAYFORMULA(IFERROR(GOOGLEFINANCE(A1:A10, "price")))
You just have to write the function for A1:
=GOOGLEFINANCE(A1, "price")
And then drag the little square on the cell down. It will automatically pick up the correspondant number of the row in the A column.
You can set-up your sheet to have like 100 rows used, and when you add the ticker it will automatically calculate it.
If you don't want th #N/A to show you can do it like:
=IFERROR(GOOGLEFINANCE(A1, "price"))

Array result from INDIRECT

So, I have a Google Sheet connected to a Google Form that I use for debugging a series of games. Each game has a Unit number and an Activity number.
I added to the sheet a column that, basing on the Unit and on the Activity, retrieves the name of the developer, contained in another sheet.
=INDIRECT("Developers!"&CHAR(C1+64+1)&(B1+1))
(I have to add 1 to each value because the other table has headers)
The formula does work on a single cell, but it's not applied to the new lines inserted by the Google Form.
I've seen that ARRAYFORMULA() returns an array that automatically populates the cells below.
Is there a command I can use to apply a formula to an array of values and have an array of results returned?
if you want to get just a range do:
=INDIRECT("Developers!"&ADDRESS(B1+1, C1+1, 4)&":"&ADDRESS(ROWS(A:A), C1+1, 4))
or populated range:
=INDIRECT("Developers!"&ADDRESS(B1+1, C1+1, 4)&":"&ADDRESS(COUNTA(B:B), C1+1, 4))

Get corresponding value from other sheet in excel (only returning first column)

I currently have the following formula, where the intention is to search one sheet for names, then pull the job title from another sheet with the same layout. However, it keeps only returning job titles from C column, and I to some extent know why, but I have no idea how to get the index, and in turn cell address call, to return matches with the correct column value.
Essentially the ActualVolunteerSchedule sheet has names, the TaskingSchedule has jobs in the time slots.
In EmailPrep sheet I am combining the time marker from column A with the job title from inside the table based on finding a matching name from row 1 in the email prep sheet.
So given a range say B:H on sheet1 - find all cells containing NAME, then grab cell contents from sheet2 with the same address. NAME found at sheet1!$C$3 then return value of sheet2!$C$3
INDIRECT("TaskingSchedule"&"!"&RIGHT(CELL("address",INDEX(ActualVolunteerSchedule!$C$1:$H$74,
SMALL(IF(ActualVolunteerSchedule!$C$1:$H$74=B$1,ROW(ActualVolunteerSchedule!$C$1:$H$74)),ROWS(A$3:A3)))),4))
Actual File
Google Sheet

Hide a row in Excel OLAP pivot table

I have an Excel sheet which connects to a cube. The information is presented in a pivot table. The problem is that I need to hide one member of the dimension on the rows axis.
That is I have the following table.
a value1
b value2
c value3
total
I want to hide the row with value b. I cannot solve this with filters in the pivot table since the member must always be hidden and if the filter is used then a user can select it.
What I have tried so far:
Use a named set with an MDX calculation. This does not work since a named set cannot be used in filters.
Use a calculated measure IIF(currentmember = b, null, value). This does not work since the grand total still includes the value for b.
Any suggestions? I prefer not to create a scoped member in the cube specifically for this report.
In case anyone is still interested I found a solution to the problem.
Created a new measure in the cube with a null value.
Created a scope calculation for the measure in the cube, IIF(currentmember = b, null, value).
Created a new perspective in the cube list where the new measure is not visible.
Lots of work but I could not find any other options in this case.
I've searched high and low for this answer.
I had a similar issue. I was trying to calculate a measure from other 3 measures then filter and aggregate the filtered result. I came up with this:
Calculate the column in the source view table ( a - b + c = x)
Add the unfiltered calculated column (x) to the dsv
Create a named calculation in the dsv that uses a case statement to filter the original calc measure
Add the named calculation as measure
I choose to do it this way to capture the measure unfiltered first then, if another filter needs to be added or one needs to be taken off I can do so without messing with the views again. I just add the new dim to filter by to my named calculation case statement.

Resources