Extract Phones
Mon Jun 19 2023 08:17:18 GMT+0000 (Coordinated Universal Time)
Saved by
@menaheero
function extractMobileNumbers() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange('A:A');
var values = range.getValues();
var extractedMobileNumbers = [];
var maxMobileNumberCount = 0;
var mobileRegex = /(\+\d{1,3}\s?)?(\d{3}[-\.\s]?)?\d{3}[-\.\s]?\d{4}/g;
for (var i = 0; i < values.length; i++) {
var mobileNumbers = [];
if (values[i][0] !== "" && typeof values[i][0] === "string") {
var mobileMatches = values[i][0].match(mobileRegex);
if (mobileMatches) {
mobileNumbers = mobileMatches.map(function (mobileNumber) {
return [mobileNumber];
});
if (mobileNumbers.length > maxMobileNumberCount) {
maxMobileNumberCount = mobileNumbers.length;
}
}
}
extractedMobileNumbers.push(mobileNumbers);
}
// Adjust the range dimensions based on the maximum mobile number count
var outputRange = sheet.getRange(1, 10, extractedMobileNumbers.length, maxMobileNumberCount);
// Fill any remaining empty cells with empty strings
var emptyMobileNumbers = new Array(maxMobileNumberCount).fill([""]);
for (var i = 0; i < extractedMobileNumbers.length; i++) {
extractedMobileNumbers[i] = extractedMobileNumbers[i].concat(emptyMobileNumbers.slice(extractedMobileNumbers[i].length));
}
outputRange.setValues(extractedMobileNumbers);
}
content_copyCOPY
Comments