2017-02-17 2 views
-2

列Fの日付が週より古い場合は、行を非表示にするスクリプトが必要です。私は1つを見つけたと思ったが、列のヘッダー(行2)も隠していたが、これは役に立たなかった。Google週の列に日付があると行を非表示にするシートスクリプト

空の行を非表示にして、継続的に更新する必要はありません。

多くのありがとうございます。

+1

どのコードを試しましたか?あなたの質問を編集してください。 – c0de

答えて

1

この関数は、列の各セルをチェックして日付であることを確認し、7日以上古い日付を検出すると行を非表示にします。もちろん、あなたが好きな場合は、日数が引数になるように変更することができます。現在デフォルトで 'A'になっている列を選択する必要があります。私はテストを簡単にするためにメニューを追加しました。

これが役に立ちます。

function onOpen() 
    { 
     var ui = SpreadsheetApp.getUi(); 
     ui.createMenu('My Tools') 
      .addItem('Hide Rows','hideRowsDate') 
      .addToUi(); 
    } 

    function hideRowsDate(column) 
    { 
     var column = (typeof(column) !== 'undefined') ? column : 'A'; 
     var day = 86400000; 
     var today = new Date().getTime(); 
     var rng = SpreadsheetApp.getActiveSheet().getRange(column + ':' + column); 
     var rngA = rng.getValues(); 
     for(var i = 0; i < rngA.length ;i++) 
     { 
     if(isDate(rngA[i][0]) && (((today - new Date(rngA[i][0]).getTime())/day) > 7)) 
     { 
      SpreadsheetApp.getActiveSheet().hideRows(i + 1); 
     } 

     } 
    } 

    function isDate (x) 
    { 
     return (null != x) && !isNaN(x) && ("undefined" !== typeof x.getDate); 
    } 
関連する問題