2015-05-09 88 views
0

我對Google表格很新穎,我正在尋找一種方法/函數,它允許我創建的按鈕將電子表格中的所有條目存檔到另一個電子表格。基於變量「存檔」行的按鈕

我目前有一列可以計算一年中的當前星期以及另一個手動輸入的列,該列用於輸入條目的一年中的某一週。這將最終在進入新行時自動計算,但我期望做的是從本週之前的幾周內提取所有條目,並將這些行放入我指定的另一個電子表格中。

我知道這在Excel中是可行的,但我並不是Google表格中最棒的編程,所以我正在尋找一些建議/幫助。

編輯: 快速我發現我真的生鏽或只是在Java不太好。我嘗試下面的代碼:

function myArchive() { 
    var aYear = getYear() 
    var sourceSheet = SpreadsheetApp.getActive() 
    .getSheetByName('Payroll'), 
    destSheet = SpreadsheetApp.openById('PayrollArchive') 
    .getSheetByName(aYear), 
    sourceRanges = ['A:A', 'B:B', 'C:C'], 
    targetRanges = [7, 9, 12] 
    .map(function (r, i) { 
     var sr = sourceSheet.getRange(sourceRanges[i]), 
      val = sr.getValues(); 
     destSheet.getRange(1, r, val.length, val[0].length) 
      .setValues(val); 
     sr.clear() 
    }); 

} 

從這裏檢索:Is there an easy format to move columns of data by script?

不過,我試圖做一個有點不同。

  • 我想複製第1列有前一週或前一週的所有條目。例如,它目前是一年中的第21周。我希望它將第1列爲20或以前的電子表格中的所有條目都拉出來。不知道如何用Java編程本週。

  • 我想將上面拉出的行中的所有信息放入名爲PayrollArchive的電子表格中當前年份的工作表中。因此,所有前幾周的價值行將放入PayrollArchive電子表格的2015年表中。我認爲var aYear = getYear()是獲取當前年份的正確編碼,但是可以獲取表單中特定單元格的值以獲取該值嗎?我已經將當前的#和日期信息保存在電子表格的單元格中。本週保存在J1中,日期保存在當前工作周的最後一天D1:E1中。例如:

    =TODAY()-WEEKDAY(TODAY(),3)+6 
    
  • ,當我們想在2016年的第一週存檔的2015年的最後一週,會發生什麼?我們如何阻止2015年的信息進入2016年的表格。

  • 如果該表不存在,是否會創建該表?我目前有一個2015年的工作表,但我需要手動創建一個2016年工作表,或者該功能是否會自行創建工作表?

回答

1

要添加自定義菜單到電子表格,請參閱文檔:

Google Documentation - Custom Menus

要插入的圖像,打開幫助菜單:

Help

做一個在「插入圖片」上搜索

您可以添加自定義菜單,或插入鏈接到腳本的圖像。可能有一些函數或函數組合可以放入電子表格中進行存檔,以便從第一個電子表格中獲取數據,然後可以將所有公式複製到值中。該方法將使用公式,然後將公式複製到值。它也可以在代碼中完成,但是你需要編寫一個腳本來完成。所以這是可能的。

見帖子這樣的:

Google Script to copy specific columns from one sheet to another sheet

Move columns of data by script

Copy from one sheet to another sheet

+0

感謝您的答覆!我試圖弄清楚如何做到這一點。我很快發現我對Java並不擅長,並且可以真正使用一些編程幫助。 –

+2

Apps腳本使用JavaScript,它與Java大不相同。許多人想要幫助,但這都是一個問題。有一個平衡。 –

+0

是的,我幾乎不瞭解Javascript。我知道我可能會在這裏問很多,我一定會感謝你的幫助。 –