0

私はその行の2つの異なるセル範囲に対応する行に2つのタイムスタンプを配置しようとしています。私はこのスクリプトを使って、行の変更をタイムスタンプするのに成功しています(5列目以降)。私が望む何Googleシートのタイムスタンプ異なる行のセル範囲

はどんな変化が細胞内に起こる場合は、カラム内の別のタイムスタンプをLにFの範囲、そしてその後、列Eにタイムスタンプを入れることであるM、その他の変更は、Zに、列Nから作られていた場合:

function onEdit(e) { 
    if (e.range.columnStart < 6 || e.range.rowStart < 2) return; 
    e.source.getActiveSheet().getRange(e.range.rowStart, 5) 
    .setValue(Utilities.formatDate(new Date(), "GMT-4", "MM/dd/yyyy HH:mm:ss")); 
} 

答えて

2

Range class documentationにrowStartプロパティとcolumnStartプロパティが表示されません。文書化されたメソッドgetRowおよびgetColumnを使用することが望ましいと思われます。次のようになります。

function onEdit(e) { 
    var sheet = e.range.getSheet(); 
    var row = e.range.getRow(); 
    if (row < 2) { 
    return; 
    } 
    var col = e.range.getColumn(); 
    if (col >= 6 && col <= 12) { 
    sheet.getRange(row, 5).setValue(new Date()); 
    } 
    if (col >= 14 && col <= 26) { 
    sheet.getRange(row, 13).setValue(new Date()); 
    } 
} 

タイムスタンプの列は、必要に応じて日付と時刻の両方が表示されるように書式を設定できます。

ご覧のとおり、条件文は左端の列、右端の列、タイムスタンプの列に似ています。同じ効果にもっと多くを加えることができます。あなたは

"N".charCodeAt(0) - "A".charCodeAt(0) + 1; 

のような手紙、式を数えるような気がしない場合は、列Nに対応する番号を取得するために使用することができます

関連する問題