Conditional Query and Retrieval - google-sheets

I'm making a Google Sheet for our handyman business and need to collect totals on multiple client labor and material activities. I have a pretty decent sheet going, but, since we work for different clients on different days, with lots of other information in between, it would be nice if I could make a cell collect totals from any cell that has their name at the top of the column instead of chasing all over the sheet to get the client's grand total at the end of the week. Kind of like, if any cell in Row 3 has the word (name) Doe in it, return the value in row 10 of the corresponding column (where the labor for that day has been added up for that client on that day). It'd be great if it could add everything up for that client for the week every time their name is mentioned.
Too much to ask? Thanks for any help!!

If you can standardize the column that the name will occur in you can use vlookup to do exactly what you want. You may need to use partial matches as well if you want only check for part of the name https://exceljet.net/formula/partial-match-with-vlookup.

Related

Querying helper table within Google Sheets

I want to import central banks interest rates into google sheets. The table I'm using can be found here:
=importhtml("https://www.investing.com/central-banks","table",1)
For each items that I want from this table, I would have a function like (in this example, to fetch 1.00%):
=value(substitute(index(importhtml("https://www.investing.com/central-banks","table",1),2,3),",",""))
If I need this whole table, which consists of 12 rows (excluding header) x 4 columns, I would have 48 such formulas. It seems to me that:
this is messy, and
making 48 calls to the investing.com URL where one could probably suffice.
So I decided to try a different approach. In another tab of my google sheets, I call the whole table:
In my other tab, I thought to query this table (assume it is in a tab called rates) instead. But I don't know how. Is there a way, and if so, what is the correct way to query say:
the first name in the table (Federal Reserve (FED))?
the fourth interest rate in the table (-0.75%)?
Any help is greatly appreciated.
To get 1%, try
=index(importhtml("https://www.investing.com/central-banks","table",1),2,3)
index
adapt parameters to fetch
the first name in the table (Federal Reserve (FED)) =index(importhtml("https://www.investing.com/central-banks","table",1),2,2)
or the fourth interest rate in the table (-0.75%) =index(importhtml("https://www.investing.com/central-banks","table",1),5,3)
To get all % per banks at once
=query(importhtml("https://www.investing.com/central-banks","table",1),"select Col2,Col3",1)
The answer he gave you Mike Steelson is good, but if I were you, I would make it in such a way that I could change the parameters at any time
=query(importhtml("https://www.investing.com/central-banks","table",1);"select Col2 WHERE (Col3='"&$A1&"')",1)
where A1 = 1.00% or any number entered into that cell

Trying to COUNTIFS date = this week (sunday-saturday)?

I'm building a spreadsheet that automatically gets a row added when I get an application on my form. Here is the link to the sheet. As you can see, the first tab is just a list of applications, with the location they've applied for, and the date. The second tab is a daily count for each location, which is eventually sent out as an email each night. I'd like to include weekly numbers, and maybe even an ongoing weekly comparison. e.g. # of apps today, this week (so far), last week, etc.
I'm no expert with this stuff and it's getting a bit over my head possibly. Any ideas on how to get this done smoothly?? Thanks a ton in advance!
Your problem (like many) is primarily a problem with the organization of your raw data.
On a new tab called MK.Help, I've put the following formula in cell A2:
=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(Applications!A2:A&"|"&Applications!S2:S&"|"&FLOOR(Applications!S2:S-2,7)+2&"|"&Applications!B2:R),"|",0,0),"where Col4 is not null and Col2>="&I2))
Then I made a simple table on the right with some fairly straightforward COUNTIFS() that look like this:
=COUNTIFS($C:$C,H$2,$D:$D,$F3)
The layout of the data vertically is what's making the formulas relatively simple for the summary.

Adding to a cells value based on two other cells

I'm wondering how I would go about adding to a cell based on two other cells.
For example, I'm creating a Google Sheets document to track profit & loss on certain things in an online game I play.
I'll try to explain this as best as possible.
If cell B71 is equal to the string in cell B7, increase the value in cell D71 equal to the number in cell D7.
However, the values will need to be compared to various other things depending on the item required.
For example, the string in cell B7 might change depending on what specific type of item is needed for that day as it does change daily.
I have cells near the bottom of the sheet which list the different type of item which will show the total amount of items used in that month.
I've tried to explain this a little better as requested below
I'm trying to make a spreadsheet that keeps track of the quantity of a specific item I use in a game for a daily task. This task can be done daily, and to keep track of profit & loss, I have created a spreadsheet to keep track of this.
So, each day, there are three different types of items (runes) that can be used in the machine to create an item called 'Vis Wax'. As Runes are cheap, creating the vis wax can generate a good profit. (I love working with data, hense the spreadsheet.
The image above shows what a daily section looks like. I input each type of rune (has to be 3), input the quantity used and the amount each rune is worth to create the total cost under Total.
Further down below, this table has been created
This will keep track of each rune and the amount used during that month.
So with that said, I'm looking for a solution so that if Air rune is entered in ANY of them slots with the QUANTITY used, it'll update that table accordinly (as well as the other runes that are used too). I've tried nested IF statements, but don't seem to have any luck. With the amount of checks that seem to be happening, I can't seem to find a working solution. As Air Rune might be in slot 1 one day, then slot 3 the next day. So it seems each cell in the Quantity Table will need to compare EACH cell in the daily section, to each rune type that can be used.
Hopefully that has explained it a little better.
Spreadsheet Link
https://docs.google.com/spreadsheets/d/1sYLpZJ46IpNk52gxMoJOIZsOCWToLkC4FF83RBncCf0/edit?usp=sharing
I would suggest you to use a different structure and take all the data from one day in one column, something like this:
In this way you will be able to extend the days keeping the formulas in a really simple way. Below, I will explain some useful formulas that you can use to lighten your work:
Day: =text(DAY(B2),"dddd")
Rune type: Check Data validation to create a drop-down list of your rune types
For counting how many runes have you used you can use SUMIFS function. It returns the sum of a range depending on multiple criteria. In your case, you need apply it three time per rune, as you can have the same rune in three different places. You see it with the following image:
The formula is: =SUMIFS($B$8:$H$8,$B$7:$H$7,A25) + SUMIFS($B$12:$H$12,$B$11:$H$11,A25) + SUMIFS($B$16:$H$16,$B$15:$H$15,A25). In this way you only need to write it once and you can fill the rest of the runes just dragging the mouse. If you need more days just change the column H with the last column that you want to take.
I assume that with all this information you can also keep track of your monthly statics easily. I suggest you to create a different sheet for each month.
I hope that my answer was useful, let me know if you have any doubt.
George, I agree with #fullfine, your data structure does not seem ideal for data analysis. And it doesn't seem that efficient for data entry either, with the sideways scrolling (at least on my screen).
But I recognise that you might not want to change it, perhaps having specific reasons for that layout, and having invested time in it. So I offer this formula as an alternative, which basically pulls the needed cells from your existing sheet, and comes up with the totals you'll need.
=QUERY(QUERY({B7:D9;G7:I9;L7:N9;Q7:S9;V7:X9;AA7:AC9;AF7:AH9;
B20:D22;G20:I22;L20:N22;Q20:S22;V20:X22;AA20:AC22;AF20:AH22;
B33:D35;G33:I35;L33:N35;Q33:S35;V33:X35;AA33:AC35;AF33:AH35;
B46:D48;G46:I48;L46:N48;Q46:S48;V46:X48;AA46:AC48;AF46:AH48;
B59:D61;G59:I61;L59:N61},
"select Col1, Col2, Col3*Col2 where Col1 <>'' order by Col1 label Col3*Col2 '' ",0),
"select Col1, sum(Col2), sum(Col3) group by Col1 label sum(Col2) '', sum(Col3) '' ",0)
The same formula can be used for each month, since it always totals all 31 days, even if the month has fewer days.
For your Rune table in the Statistics sheet, you only need the firsts two columns, so you could delete the "sum(Col3)" from the last select statement.
For your smaller financial table, you would take the sum of the Col3 produced by the above formula, ie. the total value of all the runes used. A similar formula would be used to collect the count of the wax produced, its value, and the profit/loss for each day. This would let you complete the financial table.
If you do decide to go with this approach, and want any help with completing the tables, or the formulas, please share your sheet so "anyone can edit it", to make it easier for me to assist you.

Dynamic Match Formula based on Date Criteria (G-sheets)

I'm looking to return a match on an array of data, depending on what the current date is.
Sheet located here for reference: (https://docs.google.com/spreadsheets/d/1jHw8y8AObnvJEW3YiSb_kGXZFfxHW96UjfFh_6NVaXQ/edit?usp=sharing)
Essentially I have 10 workers that can possibly appear on the roster, which will vary day to day. I'd like to link this to a google script which will automatically trigger an email to the workers that will be in the office the next day.
My issue is that I'm not sure how to create a dynamic reference so that my index-match formula knows which column to refer to. I'd like the formula to detect what tomorrow's date is, and as such return a 1 or 0 for who is rostered for the day. I've tried several Index-match-match methods but with no avail, as I have a broad range of potential columns to return data from.
Hope this makes sense, any help would be much appreciated.

Google sheets sum if within specific week

I have a Google Sheets budget and I am trying to write something to keep track of how much money I have spent in a specific week.
Link to my example budget below.
https://docs.google.com/spreadsheets/d/15HP24iDd-kZ-MydKwgbMCoG0rCHN_DNOcBZsm0HhKQ0/edit?usp=sharing
I am already using sumif() to say, if the entry's CATEGORY says "Gas" then add theAMOUNT to the Gas row in the table. I want to add another parameter that will sum the amounts if the entry's CATEGORY says Gas AND is within the specified week above the table...(WEEK 31).
I hope this makes sense if you need more clarification I will try my best to do so.
As Diego suggested, SUMIFS()should work. Example
=sumifs($C$4:$C$9, $D$4:$D$9, "=week "&$I$3, $B$4:$B$9,$F4)
An alternative would be to use sumproduct().
=sumproduct($D$4:$D$9="week "&$I$3, $B$4:$B$9=$F4, $C$4:$C$9)
You should be able to fill down this formula (as far as needed) for the other categories.

Resources