告別剪剪貼貼,新手也能利用GAS一鍵完成跨檔合併、排程自動更新

更新於 發佈於 閱讀時間約 8 分鐘

親愛的同學們,大家好,今天,Meiko想向大家介紹一項非常實用的技術——Google Apps Script,簡稱GAS。你可能會好奇,這個GAS到底是什麼?想象一下,如果我們有一種方法,可以讓電腦幫我們自動完成繁瑣的數據整理和檔案合併,是不是聽起來就像擁有了一個聰明的助手?GAS正是這樣一個強大的工具,它能夠幫我們節省大量的時間和精力,讓我們可以專注於更有創造性的工作。


主要功能:

使用Google Apps Script,一鍵完成Google Sheets跨檔合併與排程更新,詳細的操作步驟可以參考下方影片中的說明。

使用情境:

使用情境有以下兩種

1.使用檔案ID進行合併
2.合併整個資料夾內的所有檔案

執行方式有以下兩種

1.手動按下執行按鈕
2.排程更新

GAS語法:

若使用情境差不多,語法修改的地方其實不多

情境1:使用檔案ID進行合併

綠色文字的部分是同學們要修改的地方,1.檔案的ID、2.抓取資料的範圍
function mergeSheet() {
// 定義來源檔案的ID
var sourceIds = [
'第一個檔案的ID',
'第二個檔案的ID' // 這裡要改成你要合併的檔案ID,檔案ID如何取得,可以看影片介紹
];

// 獲取目標Sheet
var targetSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var targetSheet = targetSpreadsheet.getActiveSheet();

// 確保目標Sheet中第一行為空白,並從第二行開始清空數據
clearSheetFromSecondRow(targetSheet);

// 循環處理每一個來源檔案
sourceIds.forEach(function(sourceId) {
var sourceSpreadsheet = SpreadsheetApp.openById(sourceId);
var sheet = sourceSpreadsheet.getSheets()[0]; // 選擇每個檔案的第一張工作表
var data = sheet.getRange('A2:G').getValues(); // 這裡要修改成您要抓取的範圍
appendDataToSheetFromSecondRow(targetSheet, data);
});
}

// 從第二行開始清空Sheet中的數據
function clearSheetFromSecondRow(sheet) {
var lastRow = sheet.getLastRow();
if (lastRow > 2) { // 如果超過兩行,從第二行開始刪除
sheet.deleteRows(2, lastRow - 1);
}
}

// 從第二行開始將數據追加到Sheet
function appendDataToSheetFromSecondRow(sheet, data) {
if (data.length > 0) {
var startRow = Math.max(sheet.getLastRow() + 1, 2); // 確保從第二行開始
sheet.getRange(startRow, 1, data.length, data[0].length).setValues(data);
}
}

情境2:將整個資料夾內的檔案進行合併

綠色文字的部分是同學們要修改的地方,1.資料夾的ID、2.抓取資料的範圍
function mergeSheetsFromFolder() {
var folderId = 'YOUR_FOLDER_ID'; // 這裡要修改成你要合併的資料夾ID,資料夾ID如何取得,可以看影片中的介紹
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();

var targetSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var targetSheet = targetSpreadsheet.getActiveSheet();

// 清空目標Sheet中第二行及以下的數據
var lastRow = targetSheet.getLastRow();
if (lastRow > 1) {
targetSheet.deleteRows(2, lastRow - 1);
}

var startRow = 2; // 設定初始的起始行

while (files.hasNext()) {
var file = files.next();
var spreadsheet = SpreadsheetApp.openById(file.getId());
var sheet = spreadsheet.getSheets()[0]; // 假設我們只關注每個檔案的第一個Sheet

// 檢查Sheet是否有足夠的行和列,避免讀取空範圍
if(sheet.getMaxRows() > 1 && sheet.getMaxColumns() >= 7) {
var data = sheet.getRange('A2:G' + sheet.getLastRow()).getValues(); //這裡同學們要修改一下,抓取的資料範圍
if (data.length > 0 && data[0].length > 0) { // 確保數據非空
targetSheet.getRange(startRow, 1, data.length, data[0].length).setValues(data);
startRow += data.length; // 更新startRow,為下一次寫入做準備
}
}
}
}

影片教學


購書優惠

好書介紹:Excel 公式+函數超實用字典:515 個函數+1028 個範例
旗標知識講堂➤https://www.facebook.com/flagforum
旗標蝦皮商城➤ https://shopee.tw/flag23311033 (可使用折扣碼)
.2024/01/01-2024/03/31 優惠碼:【FLAGM0005】 原9折再打84折
.2024/04/01-2024/06/30 優惠碼:【FLAGM0006】 原9折再打84折
.2024/07/01-2024/09/30 優惠碼:【FLAGM0007】 原9折再打84折
.2024/10/01-2024/12/31 優惠碼:【FLAGM0008】 原9折再打84折

好用工具推薦

Ⓜ️Gamma AI簡報
Ⓜ️ LightPDF 官方網站
Ⓜ️新手影片剪輯線上平台 FlexClip
Ⓜ️Flot.ai 文案寫作AI工具 折扣碼 【 MEIKO 】20%優惠
Ⓜ️DesignEvo LOGO 折扣碼 折扣碼【 MeikoDE20 】20%優惠


如果文章對你有幫助,請留言讓Meiko知道唷✍️
還請幫Meiko按❤️、分享、收藏,別忘了要按【追蹤】
版權所有,請勿複製 | 歡迎分享
Meiko微課頻道 | Meiko教學筆記

avatar-img
131會員
45內容數
Meiko微課頻道主要以辦公室應用為出發點,針對上班族群所遇到的問題進行分享
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
本單元將跟同學們分享,如何將有開始日期和結束日期的請假資料,自動帶入班表或是行事曆內,附影片教學。
過去,在Excel中使用核取方塊時,我們常受限於其大小,一直無法輕易調整。最近的E365版本解決了這個問題,但舊版本的Excel卻沒有這個新功能。因此,在這裡,Meiko將跟同學們分享如何在新舊版本中輕鬆放大核取方塊,而且不受數量的限制。 實際操作請參考影片教學,影片中提供的語法請參考本篇文章
情境 M小姐常常需要在檔案之間轉貼資料,由A檔案複製資料貼到B檔案內,中間不小心在轉貼資料之間,建立了連結的來源資料,而M小姐也不知道到底連結的資料來自於哪一張工作表,每每開啟B檔案時,總會出現「此活頁簿內含一或多個可能不安全的外部來源連結」訊息,M小姐該如何管理這個連結呢?
情境 M小姐有一份報表,報表上使用了「交叉分析篩選器」,可以方便分享給其他人進行查詢,但是又害怕別人變動了資料內容,於是她想到,可以把工作表進行「保護」,但.....沒想到工作表一保護,要讓大家使用的「交叉分析篩選器」卻無法使用了,這該怎麼辦呢?
情境 M小姐經常會在Excel報表中,利用輔助欄位進行計算,這些輔助欄位最後都會被【隱藏】起來,M小姐常常需要將計算後的結果,填入到另外一張報表中,這時進行複製貼上後,總是會把這些隱藏的輔助欄位給貼上來,M小姐應該怎麼複製,才能略過這些隱藏的範圍呢?
巨集檔案為什麼會被紅標 從網路上下載的巨集檔案xlsm,大多時候都會遇到紅標:出現安全性風險警告 Microsoft 已封鎖巨集執行,因為此檔案的來源不受信任 巨集可以讓Excel突破功能上的限制,加快處理的速度,但巨集也常常成為惡意攻擊的目標,用來散佈惡意程式碼,所以微軟近期對於線上下載下來的巨集
本單元將跟同學們分享,如何將有開始日期和結束日期的請假資料,自動帶入班表或是行事曆內,附影片教學。
過去,在Excel中使用核取方塊時,我們常受限於其大小,一直無法輕易調整。最近的E365版本解決了這個問題,但舊版本的Excel卻沒有這個新功能。因此,在這裡,Meiko將跟同學們分享如何在新舊版本中輕鬆放大核取方塊,而且不受數量的限制。 實際操作請參考影片教學,影片中提供的語法請參考本篇文章
情境 M小姐常常需要在檔案之間轉貼資料,由A檔案複製資料貼到B檔案內,中間不小心在轉貼資料之間,建立了連結的來源資料,而M小姐也不知道到底連結的資料來自於哪一張工作表,每每開啟B檔案時,總會出現「此活頁簿內含一或多個可能不安全的外部來源連結」訊息,M小姐該如何管理這個連結呢?
情境 M小姐有一份報表,報表上使用了「交叉分析篩選器」,可以方便分享給其他人進行查詢,但是又害怕別人變動了資料內容,於是她想到,可以把工作表進行「保護」,但.....沒想到工作表一保護,要讓大家使用的「交叉分析篩選器」卻無法使用了,這該怎麼辦呢?
情境 M小姐經常會在Excel報表中,利用輔助欄位進行計算,這些輔助欄位最後都會被【隱藏】起來,M小姐常常需要將計算後的結果,填入到另外一張報表中,這時進行複製貼上後,總是會把這些隱藏的輔助欄位給貼上來,M小姐應該怎麼複製,才能略過這些隱藏的範圍呢?
巨集檔案為什麼會被紅標 從網路上下載的巨集檔案xlsm,大多時候都會遇到紅標:出現安全性風險警告 Microsoft 已封鎖巨集執行,因為此檔案的來源不受信任 巨集可以讓Excel突破功能上的限制,加快處理的速度,但巨集也常常成為惡意攻擊的目標,用來散佈惡意程式碼,所以微軟近期對於線上下載下來的巨集
你可能也想看
Google News 追蹤
Thumbnail
在創作的路上真的很多人問我說 到底要怎麼做出符合自己期待 但又可以表現得很有美感的作品?🥹 這個問題真的應該是每個創作者都一直在學習的課題吧!
提問的內容越是清晰,強者、聰明人越能在短時間內做判斷、給出精準的建議,他們會對你產生「好印象」,認定你是「積極」的人,有機會、好人脈會不自覺地想引薦給你
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們將實作 googletrans,googletrans 函式庫是 Google Translate AJAX (Asynchronous JavaScript an
Thumbnail
網址:https://gadget.chienwen.net/x/text/articlecut 這個網頁裡面有許多小工具, 但感覺現在有很多被 AI 取代掉的東西, 推薦大家可以來用看看~
Thumbnail
Google Docs 自動化應用情境,自動依 Google Sheets 試算表、Google Forms 表單回覆、Gmail 信件、Webhook、RSS 訂閱內容,建立相應 Google Docs 文件。還可以在新建 Google Docs 文件後,自動發送 Slack 通知給團隊成員!
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
Google 提供了免費的雲端服務 Google Apps Script (GAS) ,我們可以撰寫一些簡易的程式APP,串接其他 Google 雲端服務 如 Google Docs ,Sheets …,就能夠幫助我們利用雲端硬碟做日常工作
Thumbnail
在 IG 上看到一位前端大大用 Google Apps Script + Line bot 替自己的球隊安排了球經,覺得很有趣,想來玩看看
Thumbnail
讓「Gamma」幫你做簡報,還可以幫你整理簡報大綱,簡報排版美化!靈感激盪跟簡報製作就靠它了!
Thumbnail
這篇文章介紹瞭如何自動匯出Google廣告名單,並在多種應用情境中促進跨部門的高效合作。文章分享了好處、流程和工具的詳細資訊,並提供相關教學與範本連結,讓讀者能夠直接套用自動化流程。此外,還探討了延伸應用,將Google廣告名單與行銷自動化工具結合的方法,以提高客戶參與度與轉換率。
Thumbnail
在職場上,我們經常需要使用 Excel 表格來處理資料,而自動格式設定可以幫助我們快速將資料整理成一致的格式,讓資料看起來更清晰、更有效率。用 Excel 的快捷鍵自動出現自動格式設定技巧,可以讓我們在更短的時間內套用自動格式,讓工作更輕鬆。
Thumbnail
在創作的路上真的很多人問我說 到底要怎麼做出符合自己期待 但又可以表現得很有美感的作品?🥹 這個問題真的應該是每個創作者都一直在學習的課題吧!
提問的內容越是清晰,強者、聰明人越能在短時間內做判斷、給出精準的建議,他們會對你產生「好印象」,認定你是「積極」的人,有機會、好人脈會不自覺地想引薦給你
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們將實作 googletrans,googletrans 函式庫是 Google Translate AJAX (Asynchronous JavaScript an
Thumbnail
網址:https://gadget.chienwen.net/x/text/articlecut 這個網頁裡面有許多小工具, 但感覺現在有很多被 AI 取代掉的東西, 推薦大家可以來用看看~
Thumbnail
Google Docs 自動化應用情境,自動依 Google Sheets 試算表、Google Forms 表單回覆、Gmail 信件、Webhook、RSS 訂閱內容,建立相應 Google Docs 文件。還可以在新建 Google Docs 文件後,自動發送 Slack 通知給團隊成員!
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
Google 提供了免費的雲端服務 Google Apps Script (GAS) ,我們可以撰寫一些簡易的程式APP,串接其他 Google 雲端服務 如 Google Docs ,Sheets …,就能夠幫助我們利用雲端硬碟做日常工作
Thumbnail
在 IG 上看到一位前端大大用 Google Apps Script + Line bot 替自己的球隊安排了球經,覺得很有趣,想來玩看看
Thumbnail
讓「Gamma」幫你做簡報,還可以幫你整理簡報大綱,簡報排版美化!靈感激盪跟簡報製作就靠它了!
Thumbnail
這篇文章介紹瞭如何自動匯出Google廣告名單,並在多種應用情境中促進跨部門的高效合作。文章分享了好處、流程和工具的詳細資訊,並提供相關教學與範本連結,讓讀者能夠直接套用自動化流程。此外,還探討了延伸應用,將Google廣告名單與行銷自動化工具結合的方法,以提高客戶參與度與轉換率。
Thumbnail
在職場上,我們經常需要使用 Excel 表格來處理資料,而自動格式設定可以幫助我們快速將資料整理成一致的格式,讓資料看起來更清晰、更有效率。用 Excel 的快捷鍵自動出現自動格式設定技巧,可以讓我們在更短的時間內套用自動格式,讓工作更輕鬆。