Cách trích xuất URL từ siêu liên kết trong Google Sheets

Công thức HYPERLINK của Google Trang tính cho phép bạn chèn siêu liên kết vào bảng tính của mình. Hàm nhận hai đối số

  1. URL đầy đủ của liên kết
  2. Mô tả hoặc anchor text của liên kết

URL và văn bản neo có thể được chỉ định dưới dạng chuỗi hoặc dưới dạng tham chiếu ô

Nếu bạn chèn một siêu liên kết vào một ô bằng cách sử dụng hàm HYPERLINK, thì không có cách nào trực tiếp để trích xuất URL từ công thức. Bạn có thể cân nhắc viết một Biểu thức chính quy phức tạp để khớp và trích xuất siêu liên kết trong công thức ô hoặc sử dụng Apps Script với Google Sheets API

const extractHyperlinksInSheet = () => {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = SpreadsheetApp.getActiveSheet();

  const hyperlinks = [];

  const spreadsheedId = ss.getId();
  const sheetName = sheet.getName();

  const getRange = (row, col) => {
    const address = sheet.getRange(row + 1, col + 1).getA1Notation();
    return `${sheetName}!${address}`;
  };

  const getHyperlink = (rowIndex, colIndex) => {
    const { sheets } = Sheets.Spreadsheets.get(spreadsheedId, {
      ranges: [getRange(rowIndex, colIndex)],
      fields: 'sheets(data(rowData(values(formattedValue,hyperlink))))',
    });
    const [{ formattedValue, hyperlink }] = sheets[0].data[0].rowData[0].values;
    hyperlinks.push({ rowIndex, colIndex, formattedValue, hyperlink });
  };

  sheet
    .getDataRange()
    .getFormulas()
    .forEach((dataRow, rowIndex) => {
      dataRow.forEach((cellValue, colIndex) => {
        if (/=HYPERLINK/i.test(cellValue)) {
          getHyperlink(rowIndex, colIndex);
        }
      });
    });

  Logger.log(hyperlinks);
};

Cũng thấy. Thay thế văn bản trong Google Docs bằng RegEx

Tập lệnh Google Trang tính Google Apps

Chia sẻWhatsAppTwitterFacebook

Cách trích xuất URL từ siêu liên kết trong Google Sheets

Amit Agarwal

Chuyên gia phát triển của Google, Nhà vô địch Google Cloud

Amit Agarwal là Chuyên gia nhà phát triển của Google về Google Workspace và Google Apps Script. Ông có bằng kỹ sư về Khoa học Máy tính (I. I. T. ) và là blogger chuyên nghiệp đầu tiên ở Ấn Độ

Amit đã phát triển một số tiện ích bổ sung phổ biến của Google bao gồm Mail Merge cho Gmail và Document Studio. Đọc thêm về Lifehacker và YourStory