如果這是資料庫

這是從另一個系統匯出的資料

在代碼與員工姓名和作業匹配的情況下,創建此報告的最短方法是什么?

真正的資料庫很大,每個月手動處理需要幾天時間。
我嘗試過的事情
- 樞軸表。問題是它不會從多個作業表中獲取資料
- 在系統上將員工姓名與他的代碼 [Name1 - a123] 結合起來。問題是系統不接受員工姓名中的數字
- 谷歌尋找組合表格的方法。沒有找到解決我的具體挑戰的資源。
示例表:
uj5u.com熱心網友回復:
Google Apps 腳本:
/**
* Merges the contents of the Database and System Export sheets into the Report sheet.
*
* @customfunction
*/
function mergeSheets() {
// Get the spreadsheet
let spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// Get the sheets you want to work with
let database = spreadsheet.getSheetByName('Database');
let system = spreadsheet.getSheetByName('System Export');
if ((database || system) === null)
throw new Error("1 or more requested sheets don't exist.");
// Get sheet values
let databaseValues = database.getRange('$A$2:$C')
.getValues();
let systemValues = system.getRange('$A$2:$C')
.getValues();
if ((databaseValues.length || systemValues.length) < 1)
throw new Error('1 or more requested sheets are blank.');
// Merge values
let reportValues = [];
for (let i in databaseValues)
for (let j in systemValues)
if (databaseValues[i][2] == systemValues[j][0])
reportValues.push([
databaseValues[i][0],
databaseValues[i][1],
databaseValues[i][2],
systemValues[j][1],
systemValues[j][2]
]);
return reportValues;
}
您可以將其粘貼到 Google 表格的內置腳本編輯器中。使用報表表左上角(非標題)單元格內的公式 =mergeSheets() ,瞧!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/353423.html
上一篇:腳本在運行代碼時不發送電子郵件
