I don't find the solution to create the Output table from the Input one.
Could you please help me to find a solution to create this output table with pivot table or with a special formula which are not in my competence?
Here the link to the file where you will find the result that I would like (output table)
https://docs.google.com/spreadsheets/d/1tEFlJisRlCy6RoJuGREuZV4hH_eUcIq6tZETy7RT_IM/edit?usp=sharing
Thanks a lot
Input
Output
use:
=INDEX({{B3\0\1\2\3\4\"NA"\"[3]"\"[4]"}; B4:B13\IFNA(BYCOL({0\1\2\3\4\"NA"\"[3]"\"[4]"};
LAMBDA(b; BYROW(B4:B13; LAMBDA(a; TEXTJOIN(CHAR(10); 1;
LAMBDA(x; FILTER(INDEX(x;;3); INDEX(x;;2)=b; INDEX(x;;1)=a))
(SPLIT(FLATTEN(B4:B13&""&C4:G13&""&C3:G3); ""))))))))})
step-by-step formula walkthrough
why LAMBDA is used?
Related
I'm trying to modify this formula to automatically provide the definition in Column B when a word is entered in Column A. Currently, the formula looks like this...
=(index(split(concatenate(importxml("https://www.merriam-webster.com/dictionary/"&$A2,"//span[#class='dtText']")),": ",FALSE,TRUE),1,1))
This works, but it doesn't automatically provide the definition when adding new words. I tried modifying the formula using an arrayformula (seen below), but it repeats the definition for the word in A2.
={"Definition";arrayformula(if(A2:A="",,index(split(concatenate(importxml("https://www.merriam-webster.com/dictionary/"&$A2:A,"//span[#class='dtText']")),": ",FALSE,TRUE),1,1)))}
Any ideas on how to fix this? Thanks for your help. Here's the link to the Google Sheet below so you can edit it.
https://docs.google.com/spreadsheets/d/1_OrJwlOHxVXZBKA0GFaiXnRS1x5OCszrR9m3UlMuWRY/edit?usp=sharing
Thanks for your help!
According to this similar article about Use importXML from column of URLs with arrayformula returning same duplicated result in google sheet:
unfortunately, that won't do because ARRAYFORMULA does not support IMOPRTXML formulas. you could try to look up some scripted workaround for this task or give up on one cell solution
Alternative Solution
Perhaps you can use this sample onEdit(e) simple trigger script below instead via Apps Script that is bound to your Spreadsheet file:
Follow this guide on how to add the script as a bound script in your Spreadsheet file:
Sample Script:
function onEdit(e){
var sh = e.range.getSheet();
if(e.range.getColumn() != 1 || e.range.getRow() == 1) return; //ignore if you have not put the word on column A or Col #1 & on row 1
sh.getRange("B"+e.range.getRow()).setFormula("=(index(split(concatenate(importxml(\"https://www.merriam-webster.com/dictionary/"+e.range.getValue()+"\",\"//span[#class='dtText']\")),\": \",FALSE,TRUE),1,1))");
if(e.range.getValue() == "") sh.getRange("B"+e.range.getRow()).clear(); //clear column B row if the adjacent word on column A gets deleted
}
Sample Demonstration
Input the words crystal & believe on cells A2 & A3
I am setting up a database with hundreds of product names and I need an easy way to copy search volume from another list in the same spreadsheet.
I have tried to use:
=vlookup(lower(A1),$E$1:$F$5,2,false)
And I also looked at all Google documentation on Google Docs but none of the formulas was successful to achieve my goals.
=vlookup(lower(A1),$E$1:$F$5,2,false)
I am expecting the raws in column B to be based on the raws from column F.
I have uploaded links to the desired result:
Document - https://docs.google.com/spreadsheets/d/1qzIy30AoK4hu3Sz3u_08k8DNMA2dXmAyc3xFhn3gCzU/edit#gid=0
Video screencast - https://streamable.com/peu3w
Screenshot -
you don't need to define LOWER. all you need is ARRAYFORMULA:
=ARRAYFORMULA(IFERROR(VLOOKUP(A1:A, E:F, 2, 0)))
I've got a spreadsheet where I wan't to Filter the data from my main sheet Ark1 to another sheet Ark2. In sheet Ark3 I've put an example that works.
I've used a query for the same purpose with a lot of other references, but when using this one all the data from each column is put in the first row?
=Query('Ark1'!A:AH;"Select A,B,C,D,AH where AH is not null")
Put on sheet Ark2!A1
If I for example use the same query but with another set of data it gives the right answer.
=Query('Ark1'!A:Z;"Select A,B,C,D,Z where Z is not null")
I've this one to the sheet Ark3!A1
Doc: https://docs.google.com/spreadsheets/d/17QwBLZHtsOFuS-XGHQvCT72XucA8qguVY-lwYcPq69Q/edit#gid=443764035
If column AH contains text values (strings) you'd have to use
=Query('Ark1'!A:AH;"Select A,B,C,D,AH where AH !=''"; 1)
or
=Query('Ark1'!A:AH;"Select A,B,C,D,AH where AH <>''"; 1)
Ive got 4 columns that i want to summerise as part of a calculated field in a pivot table.
In Sheet 1 i have the raw data and in Sheet 2 i have the pivot table.
For the calculated field i want to sum the values for the following columns named "Alpha", "Beta", "Charlie", "Delta". In this example the columns are L,M,N,Z.
To generate this calcualted feild value do this ive been trying the following ="Alpha"+"Beta"+"Charlie"+"Delta" and also =L+M+N+Z.
But they both through errors.
Im sure its something wrong with my syntax, but cant work out what.
Any ideas ?
This also worked for me:
=sum('Alpha', 'Beta', 'Charlie', 'Delta')
Good luck :)
You need to reference your columns with single-quote:
='Alpha'+'Beta'+'Charlie'+'Delta'
Google sheet pivot only allows column name from the source data to be used as reference in the calculated field or a direct cell reference, e.g. A1.
I believe in my testing it would be:
=sum(L,M,N,Z)
From this post, you can also use ArrayFormula. So you can do this simply:
=ArrayFormula(Alpha+Beta+Charlie+Delta)
Edit for clarity:
The end result that I'm looking for will pass the name picked from the dropdown list in B1 into formulas below to check if each student has completed the training modules listed. The two sheets I'm looking at (for now) are 'Data' and 'Quick Reference' the rest are just placeholders.
I've looked and not found an answer so apologies if this has been asked before!
I'm trying to write a formula that will check form results and if it finds a match, return the contents from another column in that row.
The logical IF function works fine with hard coded entries, but not with cell contents.
So if I'm looking for "Deckhand USS Minnow I" I want to show the contents of Column H. Look on the Data and Quick Reference (Training Progress) tabs to see what I'm talking about.
This works:
=IF(((VLOOKUP($B1,Data!C2:J20,4)="Build Coconut Phone I")),"Yes", "No")
This doesn't:
=IF(((VLOOKUP($B1,Data!C2:J20,4)="Deckhand USS Minnow IV")),Data!H2:H20)
Google spreadsheet
Short answer
Use QUERY() instead of IF(Vlookup(),)
=QUERY(Data!C1:J20,"Select H where F = 'Deckhand USS Minnow IV'",1)
Explanation
While could be possible to use an array formula using IF and VLOOKUP, QUERY() does the work in a direct and simple way.
The formula in the short answer will include the column heading. If you don't want it use
=QUERY(Data!C2:J20,"Select H where F = 'Deckhand USS Minnow IV'",0)
References
QUERY - Google Docs editors Help