這是前一篇文章的後續內容,但我無法弄清楚如何將其添加到之前的文章中。這裏是前一篇文章的鏈接。 Copying Data Sheet1 to Sheet2 so you can sort & edit both sheets (google apps script?)如果不是基於多個單元格中的條件複製單元格到另一個單元格
第二部分 由於丹尼爾, 我有以下 Sheet 1上(Participant_Registration)有一個按鈕,當推將一ID兩者到Sheet和到Sheet(Learning_Sessions_Attendance)。 然後,我們使用vlookup函數將sheet1中的列B-D轉換爲sheet2 我編寫了自己的腳本來爲參與者添加說明。
現在,我現在需要幫助。 對原始腳本的小修復 該腳本雖然太棒了,但開始將ID編號設置爲2而不是1。有什麼方法可以解決這個問題嗎?
新腳本 在工作表1(Participant_Registration)上,如果列L,M或N的值爲「Group1」,我希望將ID(在列A中)轉移到sheet3(Consultation1_Attendance)。 如果L,M或N的值=「Group2」,我希望(列A)中的ID轉移到Sheet4(Consultation2_Attendance)。
以下是新腳本的注意事項,這些腳本使我很難編寫它。 在培訓過程中,人們可能會改變羣體,這意味着函數可能需要onEdit函數,並且不能傳輸最後一行。如果身份證尚未在該表單上,則需要轉移活動行並僅將其轉交給諮詢考勤表。 我試過查詢公式 - 不起作用,因爲您無法對諮詢出勤單中的行進行排序,我們正在向該表中添加新數據。
注意:最終我會玩這個腳本有10個可能的諮詢小組。我不確定是否有辦法自動將工作表Consultation1_Attendance複製到組數,並將其填入分配給該組的人員。
以下是表單的鏈接。 https://docs.google.com/spreadsheets/d/1cvKO2tPKeZdLWHc2XVfli8lYVylXCas4VgSG-wB_lLM/edit?usp=sharing
code.gs下的代碼運行。我在代碼中的嘗試在ConsultGpAssign.gs下(他們非常難過)。我只是在學習。我一直在嘗試各種各樣的事情,並可以真正使用幫助。
我也粘貼了一個顯然不在這裏工作的嘗試。
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Participant_Registration" && ((r.getColumn() == 12 && r.getValue() == "Group1") || (r.getColumn() == 13 && r.getValue() == "Group1") || (r.getColumn() == 14 && r.getValue() == "Group1"))) {
var row = r.getRow(); //Not sure if this works
//only want to transfer ID column A not sure how to do this
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Consultation1_Attendance");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target); //Only want to transfer information if it's not already on sheet. Do not want to delete
}
}
在設置值之前,您正在增加「最大++」。 71行。將該行超出兩個'setValue()'行,並且編號應該從1開始。但是,您需要在聲明它的同時將一個值分配給'largest'。現在,你通過不分配任何東西來聲明它是未定義的。將'var Biggest;'更改爲'var Biggest = 1;' –
感謝您的建議,但不幸的是它沒有奏效。如果我設置最大= 1,它總是1 var最大= 1。當我將Biggest ++移到SetValue行後時,會發生同樣的事情。我總是可以將1作爲頂部ID作爲解決方案(已經非常幸運地得到了一個計數器的幫助),但我只是覺得有一種方法可以將其編程爲從1開始。 –
在原始腳本,使'var MaxID = 0;'代替'var MaxID = 1;'(這個問題並非完全在Biggest ++中,即使沒有ID,函數getBiggestID也會返回1作爲當前最大的ID) –