I bet you tried searching for a Google Sheets custom function that returns the URL or Link from a rich text cell. The top search result looks like it works. However it requires the parent cell to use =hyperlink(). This won’t work for us. If you push a little deeper, you’ll find user Will in RVA post a solution. This works but is cumbersome because it requires you to have a helper cell.
I took the best of both worlds and made a function that does what you really want it to do. It extracts the link URL directly from a rich text cell in Google Sheets. Go to Tools > Script editor and copy this script. Save and Enjoy!
/**
* Returns the URL from a rich text cell.
* @param {A1} reference Cell reference
* @customfunction
*/
function linkyURL(reference){
var sheet = SpreadsheetApp.getActiveSheet();
var formula = SpreadsheetApp.getActiveRange().getFormula();
var args = formula.match(/=\w+\((.*)\)/i);
try {
var range = sheet.getRange(args[1]);
}
catch(e) {
throw new Error(args[1] + ' is not a valid range');
}
var cell = range;
var cellValue = cell.getRichTextValue();
var cellText = cell.getValue();
var theThing = cellValue.getLinkUrl();
if (theThing == null){
return cellText;
} else {
return theThing;
}
}
If this helps you out please share and let me know.