Good Morning,
Right now we have a field where we are using =vlookup to find data matching certain identifiers.This data come from sheet "Raw Data" and is filtered into "Data".
Now what I want to do is be able to fill in extra data in B2:F5 in columns which are empty without the formula breaking / being removed or getting an #REF.
The vlookup I am using right now
=arrayformula(transpose(VLOOKUP(A2;'Raw Data'!A2:F5;{2;3;4})))
Example file: https://docs.google.com/spreadsheets/d/17M5muIZA2nUgjRTj_OHlW9Fw6IECEFWuYuYmgFh3lEM/edit#gid=0
use:
=ARRAYFORMULA(IFNA(VLOOKUP(A2:A; 'Raw Data'!A2:F; {2\ 3\ 4\ 5\ 6}; 0)))
Related
I've spent countless hours trying to count this data between two date ranges. I'm using a formula I've previously used in the past, but with no luck.
(Fixed - Sample Data - see updated Actual Data below, formula is not working with actual data)
Current Formula vs. Expected Results
=Query(flatten(filter(E3:E11,D3:D11>=D16,D3:D11<=E16)), "Select Col2,count(Col2) where (Col2 is not null) group by Col2 label count(Col2)''",)
I've tried:
COUNTIFS but could not find how to include criteria.
Using INDIRECT with named range in the 'Expected Results' Reason 1 - Reason 5 Column and COUNTIFS in the column to the right.
Googling over 50+ different sites and formulas.
(Updated: Actual Data) (Error - Not working)
[Current Formula and Empty Result]
(https://i.stack.imgur.com/SnRkm.png)
The actual data is being pulled from the Data sheet. The data on this sheet looks like this
Data on the Data sheet that's pulled onto the date filter sheet
(https://i.stack.imgur.com/yZNh9.png)
and is using this formula:
=ARRAYFORMULA(TRIM(QUERY(SPLIT(FLATTEN(IF(IFERROR(SPLIT(O11:O, ","))="",,TEXT(J11:J,"MM/DD/YYYY")&"×"&L11:L&"×"&M11:M&"×"&N11:N&"×"&SPLIT(O11:O, ","))),"×"),"where Col2 is not null")))
Solution:
I used the same code I previously used. However, the dates that were being selected could not be selected with the data that was being pulled.
I used:
=INT(O3)
to copy the date into another column, dragged the formula down, and used the filter to select the date from this new column. The date filter then worked.
Hey Stack Overflow Sheets, I have a question regarding a use case we want to create in our Google Sheet, either with built-in functionality, or with an extension like Sheetgo.
We have 2 sheets with multiple of the same columns (properties) and rows (users). The problem is that only one of the sheets is a trusted source for one column’s data (“source sheet”), and the other sheet has empty or outdated values for the same column (“outdated sheet”), and we need both sheets to have this column match values in rows that have a matching value for another column across both sheets (in our case, an “email” column). After they’re matching, we want to change the formula to sync any changes made for that column between both sheets.
Here’s an obfuscated data example:
Source sheet:
https://docs.google.com/spreadsheets/d/1uxqC3lB15UHhKTzjZyzzVIj5tlPjhCCCZ48xHYEcm0o/edit?usp=sharing
Outdated sheet:
https://docs.google.com/spreadsheets/d/1ckoCh8gMwt2QeBRH1dB2dyFPJUukrjQ-SCgucTL8rhc/edit?usp=sharing
In the example, we’re looking for a formula that would allow us to have a “Type” column value injected into the Outdated Sheet’s Type column, based on both sheet’s matching Email column value. And then, have it so if a row’s “Type” value changes in either doc, the other doc follows.
What formula or extension would I use to go about this? Any help appreciated, thanks!
I tried to create a VLOOKUP and MATCH formula, but I couldn't yet figure out how to have the function first LOOKUP into the Source Sheet, then inject it into the Outdated Sheet based on a matched email column value. Sheetgo made the LOOKUP easier, but I still couldn't figure out how to do an exact operation.
Use importrange() and vlookup(). Put this formula in cell A1 of the target spreadsheet:
=arrayformula(
lambda(
import,
iferror(
vlookup(
C1:C,
{ index(import, 0, 3), index(import, 0, 1) },
2, false
)
)
)(
importrange("1uxqC3lB15UHhKTzjZyzzVIj5tlPjhCCCZ48xHYEcm0o", "Sheet1!A1:F")
)
)
so I have 5 separate google sheets, each one with the same title and format enter image description here.
There are 8000-10000 rows each so far, as it's a daily sales updating data, yearly may finish with 20000-40000 rows each.
So what I want to do is to merge all of them into another single sheet, and I've tried the following formulas:
enter image description here
Formula A
={IMPORTRANGE(B2,C2);IMPORTRANGE(B3,C3);IMPORTRANGE(B4,C4);IMPORTRANGE(B5,C5);IMPORTRANGE(B6,C6)}
Results:
#VALUE!
"In ARRAY_LITERAL, an Array Literal was missing values for one or more rows."
Formula B (reduced the data to only one month)
=QUERY({IMPORTRANGE(B2,C2);IMPORTRANGE(B3,C3);IMPORTRANGE(B4,C4);IMPORTRANGE(B5,C5);IMPORTRANGE(B6,C6)},"SELECT * Where Col2 > DATE'2022-5-1' AND Col2 <= DATE'2022-5-31' ",0)
Result:
#VALUE!
"In ARRAY_LITERAL, an Array Literal was missing values for one or more rows."
Formula C (check if is the problem of the code)
={IMPORTRANGE(B2,C2);IMPORTRANGE(B3,C3)}
Results:
It works.
So my question is that, there is anyway via google sheet let me merge all the 5 sheets in one (5sheets*40000rows into one sheet) , or it's not the place to manage that volumn of data?
every importrange needs to be run separately before you use it in your joint formula. the array error you are getting is a result of some importranges importing those 7 columns and those importranges that are not connected output one single cell. make sure you allow access to all your importranges.
test spreadsheet
Tab 'Raw Data' contains a combination of "attendance sheets" from multiple activities. Students are in multiple activities on the same Date.
Tab 'Result' lists all unique Students and Dates.
Goal: 'Result'!B3:D11 marks P or A if that student was P for any of the activities on that Date.
For example: On 12/5, Evan was marked A, A, and P in his activities - so he should be marked P for that Date.
If these were numbers, I think I'd be able to use SMALL or LARGE in combination with INDEX/MATCH to count the results...but I'm unsure how to make this formula work with A's and P's.
Since in your sample sheet you do not use a formula for Unique students I suggest -in cell F3- you use
=UNIQUE(FILTER($A$2:$A$33,B2:B33<>""))
We can now use the above formula as part of the following one in cell G2 so as to get the desired result
=ArrayFormula({B1;IF(COUNTIFS($A$2:$A,"="&UNIQUE(FILTER($A$2:$A,B2:B<>"")),B2:B,"=P")>0,"P","A")})
Drag the above to adjacent cells to the right, to get the rest of the columns.
(Please adjust ranges to your needs)
Functions used:
ArrayFormula
IF
COUNTIFS
UNIQUE
FILTER
try:
=ARRAYFORMULA(QUERY(REGEXREPLACE(SORTN(SORT(UNIQUE(SPLIT(FLATTEN(
IF('Raw Data'!B2:D="",, 'Raw Data'!B1:D1&"♂"&TEXT('Raw Data'!B1:D1, "m/d")&
"♀"&'Raw Data'!B1:D1&"♂"&'Raw Data'!A2:A&"♀"&'Raw Data'!B2:D)), "♀")), 3, 0, 2, 1),
9^9, 2, 2, 1), "(\d+♂)", ),
"select Col2,max(Col3)
where not Col1 matches '#VALUE!'
group by Col2
pivot Col1"))
#Gabe, I've added a sheet ("Erik Help") to your sample spreadsheet. There are three formulas in it.
In A2:
=UNIQUE(FILTER('Raw Data'!A2:A,'Raw Data'!B2:B<>""))
This just generates a list of unique names of students from 'Raw Data'.
In B1:
=FILTER('Raw Data'!B1:1,ISNUMBER('Raw Data'!B1:1))
This generates a list of all dates from the first row of 'Raw Data'.
In B2:
=ArrayFormula(IF(NOT(ISERROR(VLOOKUP(FILTER(FILTER(A2:A&B1:1&"P",A2:A<>""),ISNUMBER(B1:1)),FLATTEN(FILTER(FILTER('Raw Data'!A2:A&'Raw Data'!B1:1&INDIRECT("Raw Data!B2:"&ROWS('Raw Data'!A:A)),'Raw Data'!A2:A<>""),ISNUMBER('Raw Data'!B1:1))),1,FALSE))),"P","A"))
As to how this longer formula works, while I usually leave detailed explanations, I'm honestly just too tired to do the full shebang at the moment. But I'll explain the basics.
You'll notice two occurrences of FILTER(FILTER(...)). The first is just making sure to keep the formula focused only on cells in each sheet that actually have data. This will help speed up processing.
IF(NOT(ISERROR(VLOOKUP(...)))) breaks down to "If you can find THIS... do X."
What we're looking for is every string possible made from every name in the results A2:A concatenated with every data from B1:1 concatenated with "P"; virtually (i.e., in memory), these results will fill the 2D grid in results with such concatenations (e.g., B2 in the grid will store "Jon44170P", C3 will store "Barbara44171P", etc.).
Each of these strings will be VLOOKUP'ed in a FLATTENed virtual column made up of every name in 'Raw Data' concatenated with every data in 'Raw Data' concatenated with the actual 'P' or 'A' in the rest of the 'Raw Data' grid.
If the VLOOKUP is successful (i.e., IF(NOT(ISERROR(VLOOKUP(...))))), then a "P" was found for that name on that date. If it wasn't found, then the default "A" is assigned.
Because these formulas are self-expanding, you can add data to 'Raw Data' as you like without needing to drag formulas anywhere.
I also added conditional formatting to expand or contract the background fill color as data expands or contracts.
I need help. I have a google form to populate the responses into Google Sheets. in google sheets I have the sheet with the results and a master sheet that I want to search the results sheet to find a reference number across certain columns of the sheet sorted by date and if the value is found then for it to reference a specific cell value from the row that result was found in.
any help would be VERY much appreciated!
https://docs.google.com/spreadsheets/d/1OPvK5QSniZEwHhR60zT-4L8IB64A_ZxfOqpcc0rwkX0/edit?usp=sharing
I've been trying h/vlookup and index match but I'm quite a novice at this so I'm probably doing something wrong.
Basically, the scope of this is to track checked in/out assets showing their status and where they are.
=ARRAYFORMULA(IFERROR(VLOOKUP(B3:B, QUERY(TRIM(SPLIT(TRANSPOSE(SPLIT(
QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IF('Asset Movements'!G2:O<>"", "♦"&'Asset Movements'!G2:O&"♠"&'Asset Movements'!B2:B, ))
,,999^99)),,999^99), "♦")), "♠")), "OFFSET 1", 0), 2, 0)))
I think you are looking for this: Search a value from another tab/sheet in google sheets based on cell reference
It creates a search page in google sheets where the user enters a value in one cell(s) and then other cells auto-populate with values from another tab/sheet based on the value entered in the search cell(s). It has a working sheet example. You can try it so that by for example entering your 'Bin Asset No.' in the search cell as reference it will give you the matching 'Bin Size', 'Status'.
The formula shared by #player0 works too.