Concatenating multiple hyperlinks in one cell in Google Sheets - google-sheets

Now that it is possible to have multiple links within the same Google Sheets cell, I'm trying to automate some grunt work with a Mail Merge add-on. The add-on takes multiple "attachments" that are hyperlinks separated by commas and does a great job of mailing them out if I copy and paste the links in manually.
I'm using this to build individual unique emails of tests for my students so I can type in the sheets Questions A, B and Q for student 1, Questions B, C and Q for student 2. I use VLOOKUP to grab the links from a separate page that replaces Question A with the hyperlink for Question A, etc. Then I used CONCATENTATE with commas and spaces between links to build the cell that has the 3 "attachments" in it.
But it only sees the text and doesn't turn it into an active hyperlink.
If I make a copy of that CONCATENATEd text and paste as value, then go in and press the space bar after the commas, the links turn blue or "live", and then it works.
I would love to automate this. Any suggestions?

I'd be interested in automating this as well but it seems unavailable at the moment. One possible workaround (albeit a less elegant one) is to use the plain URL itself (instead of hiding it in a hyperlinked text) and separate the concatenated links by a comma or a carriage return. Gmail tends to auto-convert plain URLs into hyperlinked text. You could try a test email to yourself via the above method to ensure the concatenated URLs are converted to clickable links.

Related

How to extract plain text URLs from rich text links

I have a column of links copied from the web, links are copied with the names of the original links. They have URLs inside.
How I can remove names, and get the column of URL addresses?
You can do that with the RichTextLinks custom function. Install the function in Extensions > Apps Script, and then put a formula like =RichTextLinks("A2:A") in row 2 of a free column.

Fill rows when a value is not in a column in google sheets

I need to create a list from a column when the cell doesn't contain a given text.
In the example above I want to exclude the folders that have the words (Archive, Rollback, rollback) as below.
I know
=countif(B2:B20,"<>*Archive*")
gives us the count but doesn't allow me to define more than one search phrase and also doesn't give a list.
Is it possible to use an Array Formula? where =ARRAYFORMULA(B2:B20) can be changed to exclude the words in B22
Test Sheet is in https://docs.google.com/spreadsheets/d/1WnGEsuuJcKsHVhpyYCX5EpmIxuKQEst5XVXgeETzxJ4/edit?pli=1#gid=1789577026
See the 'List_Excluding_Words' worksheet and feel free to add a worksheet with possible solutions.
Would a regex method work in this case like? Google Sheet REGEXMATCH function case insensitive
I understand this can be done using filters but I want a full list so I can run other processes on it and it doesn't allow for more than one phrase.
In B26 on the tab 'JPV_HELP' I entered
=filter(B2:B20, not(regexmatch(B2:B20, "(?i)Archive|Rollback")))
See if that works for you?

How to get autocomplete data shared for all rows and columns across entire spreadsheet?

I have a Google spreadsheet and autocomplete is only working for the columns I am typing in, meaning if there is word1 in the column I am typing in, and I start to type a word, it will suggest word1, but WILL NEVER suggest word5 from the column next door. I am trying to make autocomplete data shared for all columns and rows.
Example 1-a:
Example 1-b:
See what I mean? I'd like for autocomplete to suggest the word WORRY but it won't. I am trying to share autocomplete data across the entire spreadsheet rather than just to individual column data.
unfortunately, that is not possible to achieve. autocomplete is available only in few cases when in the same column. best you can do is to use Data Validation on the whole sheet (selection) with disabled dropdown menu (for visual) but this can have undesired result in the form of a red arrow in the top right corner of the cell.
I found the answer since this is, from what I hear...not possible.
The linux program ... "TextSuggest".
Easily download and install TextSuggest from the AUR repo.
yay -S textsuggest
It will do exactly as Google Sheets autocomplete feature does, but within your entire Linux system.
If you wish to see/learn more, here is a nice article/review on it.
https://www.omgubuntu.co.uk/2016/06/quick-text-autocomplete-desktop-linux
TextSuggest is the best alternative to the "not possible".

Using CONCATENATE with Google forms and sheets

I have a survey going out with Google Forms, but to analyse the results, I would need to concatenate some cells. However, due to the nature of Google Forms, whenever a new response is recorded, a new row is added. I've read around, looking at different forums and tutorials, but can't seem to find anything that works.
Some of the places I've looked are:
concatenate column values for each row that gets added after google form submission
https://productforums.google.com/forum/#!topic/docs/0Os52U-0i1k
So what I would need help with is if it's possible to concatenate results from a Google Form without having to manually copy the formula in the cells whenever there are new responses. I've tried ArrayFormula, but I can't seem to get it to work. Any help would be much appreciated!
ArrayFormula(A2:A & B2:B) should do the trick.
Note that the formula will persist even if you put it directly at the end of the form and then add a new field.
It will just be shifted to the right, so you don't need to worry about taking care of that when you modify your form.
The CONCATENATE function is a Google spreadsheet function that combines two or more text strings into a single string. It appears in the dropdown menu for functions above cell A1, and when you select it, it places an =CONCATENATE()= formula in the selected cell.
Note that you may need to replace spaces with "&" if your text has spaces.
In order to perform this operation on Google Forms though, you will need to set up Form Embeds by making sure you have the input type of "google form embed." When embedded forms are enabled, there is no need for individual cells within a google sheet workbook with custom formulas next to each question result button as they're all being calculated.
You can find more info on CONCATENATE by referring to this.

Google sheet embed URL documentation

Does anyone know if there is any official documentation for google spreadsheet embed URL paramaters?
That is, given an embed URL from Google Sheets like this:
https://docs.google.com/a/aicr.org/spreadsheet/pub?key=0AhExuVBhVYT1dGxxejBmUHAzYUhGb25veTRkdW1YekE&single=true&gid=1&output=html&gridlines=false
What do the arguments do, and
What other arguments are available, that aren't included by default?
After much digging and searching, I have found:
Some parameters don't seem to do anything (&single=true, &embedded=true)
Some parameters are declared confidently in google search results, but don't work (&gridlines=false)
Some parameters don't seem to appear in any searches I have done (&output=csv)
... and no search I have done has produced anything even remotely approaching either of:
an official, google-maintained document for embed URLs
a code view of the code that is used to parse the embed URLs
By trial and error I have found:
&key=[ID]
google sheet ID
&single=[true|false]
true: ??? (present when I have published only a single sheet)
false: ???
&gid=[#]
sheet ID ??? (present when I have published only a single sheet)
perhaps this can be used to specify a sheet and range when your entire google sheets doc has been 'published to the web' (instead of just one sheet from your doc)
&range=[CellAddress1:CellAddress2]
specify a range of cells to include, eg "B1:C20"
if 'widget=' is false or not present, suppresses display of the usual google header & footer info
if the range spacified is larger than the published sheet, displays only the sheet while still suppressing the header and footer.
&embedded=[true|false]
true: ???
false: ???
this item is included in the embed code offered from within google sheets (set to "true"), but doesn't seem to have any effect.
&widget=[true|false]
true: display entire shared item. Overrides "range=". Does NOT include the google disclaimer footer.
false: include google disclaimer footer in output (unless 'range=' is also present)
&output=[html|txt|csv]
html (default): output as an html table within code that also includes Google tracking code
txt: output the content of the specified range or sheet as tab separated text
csv: output as csv
&gridlines=[???]
this apparently used to work but doesn't work for me.
To suppress gridlines in embedded sheets I set borders on all cells, then color the borders to match the sheet's background color (eg solid white borders on a white-background sheet).
Here are some of the parameters I found for Google Docs (thanks goes to Joel http://obstruction.tumblr.com/post/60784440737/google-docs-url-parameters-rm-minimal-rm-full):
Google Docs URL parameters:
rm=minimal
rm=full
rm=embedded
rm=demo
rm=(render mode)
ui=2 (select the interface version)
chrome=false (full screen mode)
frameborder=(size of border)
q=(Whatever) Search Query
gid=24 (Which sheet you want to display)
widget=false
single=true
range=A2:AA26 Output=html
format=(export spreadsheet)
format=xlsx
format=csv
widget=false
width=(width)
height=(height)
viewer?
start=
channel=
ibd=
client=
I've been looking for the same thing! One more URL parameter I have found useful is
&rm=[minimal|?]
minimal: hides the top menu and cell inspector, but still shows row numbers, column letters, and the Add More Rows feature at the bottom.
This resource describes some of the parameters, though I can't vouch for its accuracy.
http://www.goopal.org/google-sites-business/google-spreadsheets/spreadsheet-output/publish-spreadsheet#TOC-Other-Export-Parameters
The most helpful list of parameters I found comes from Steegle.com.
You can use the htmlembed URL to display just a range from a Google Sheet - here's how to structure the URL
https://docs.google.com/spreadsheets/d/SpreadsheedID/htmlembed?single=true&gid=SheetID&range=D15:E15&widget=false&chrome=false&headers=false
SpreadsheedID should be the long letters, numbers and characters you get in the normal URL
htmlembed is for sheets you have not published: use pubhtml instead if you have chosen to publish the sheet (if you want the public to see it it's the best way
single never been sure what it does, but we think it helps with only showing a single sheet instead of multiple sheets
SheetID is the sheet number you get in the normal URL after the ?gid= (this is not the sheet name you have specified but the automatic number that Google Sheets provides)
range lets you specify the range of cells you want to display
widget lets you choose whether to display the sheet tabs at the bottom
chrome lets you choose whether to display the spreadsheet title (& sheetname) at the top
headers lets you choose whether to display the spreadsheet title at the top
Source: https://www.steegle.com/google-sites/how-to/insert-websites-apps-scripts-and-gadgets/embed-google-sheet-range

Resources