第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取兩列的最后一行之間的差異,以便向單元格添加值,使列的長度相等

獲取兩列的最后一行之間的差異,以便向單元格添加值,使列的長度相等

達(dá)令說 2021-06-02 18:55:11
我有一個查詢從主列表中收集名稱并將它們放在工作表上。當(dāng)它從該工作表中添加和刪除名稱時,我想添加和刪除與名稱一起使用的數(shù)據(jù)驗(yàn)證下拉框。于是想到了求A列的最后一行和C列的最后一行的想法,因?yàn)镃是下拉框所在的地方,A是他們的名字。并且通過獲得這兩列的差異,不僅可以確定位置,還可以確定需要更改多少單元格的大小。我發(fā)現(xiàn)的一些事情是數(shù)據(jù)驗(yàn)證列表沒有與第一項(xiàng)一起給出,這既好又壞。因此,我必須創(chuàng)建一個 setValue 函數(shù),在下拉框所在的“PLACE”上設(shè)置名稱,因?yàn)闆]有它,C 列的最后一行將被視為較少,因?yàn)閿?shù)據(jù)驗(yàn)證下拉框計為“”。這就是為什么我需要兩列的差異,所以我可以將“PLACE”添加到驗(yàn)證框的單元格中,而不用“PLACE”一詞替換列 C 中的每個單元格,因?yàn)槊看尉庉嫻ぷ鞅頃r都會發(fā)生這種情況. 我找到了一些方法來找到我認(rèn)為只是 columnA-ColumnC 左右的單個列的最后一行。甚至使它們成為絕對的。但是有一個數(shù)字我不允許在一個范圍內(nèi)使用它們,否則它會破壞整個系統(tǒng)。0.function setValue(cellName, value) {  SpreadsheetApp.getActiveSpreadsheet().getRange(cellName).setValue(value);}function onChange(e){var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();  var FirstEmptyA = getFirstEmptyRow('A:A');    Logger.log(FirstEmptyA);  var FirstEmptyC = getFirstEmptyRow('C:C');    Logger.log(FirstEmptyC);  var dif = Math.abs(FirstEmptyA - FirstEmptyC);    Logger.log(dif);  var rangeA = ss.getRange(2,3,FirstEmptyA -1)  var rangedif =ss.getRange(FirstEmptyA+1,3,dif-1)  var EmptyArow =ss.getRange(FirstEmptyA,3)  var validationList = SpreadsheetApp.newDataValidation().requireValueInList(['PLACE','MALL','BANK','SCHOOL'], true).build()  if(FirstEmptyA - FirstEmptyC < 0){        rangedif.clearDataValidations();    rangedif.clearContent();  } else if(FirstEmptyC - FirstEmptyA < 0) {     rangeA.setDataValidation(validationList);         rangedif.setValue('PLACE');  }  else if (FirstEmptyC-FirstEmptyA = 0){    EmptyArow.setDataValidation(validationList);            setValue('C' + FirstEmptyC,'PLACE');}}我一直在嘗試許多不同的 if else 方法,但沒有真正的幫助,因?yàn)槊慨?dāng)我使用該函數(shù)時我都無法獲得日志onChange。如果我onChange在腳本編輯器中運(yùn)行一切正常,但是如果我在工作表中編輯任何內(nèi)容,它會返回好的 ol'[] 事情仍然會發(fā)生,但是日志沒有為我提供太多信息。我認(rèn)為這與我正在編輯的單元格不在 C 列中有關(guān)。除此之外,當(dāng)我讓它做事情時,“PLACE”或數(shù)據(jù)驗(yàn)證的位置通常有點(diǎn)不合時宜。因?yàn)槲以噲D通過添加或減去數(shù)字使其不等于 0 來進(jìn)行補(bǔ)償。知道如何解決這個問題嗎?
查看完整描述

2 回答

?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個贊

在上面回答了我自己的問題檢查。不過還是謝謝你,Aung49。我當(dāng)然仔細(xì)檢查過。我想我只是需要睡一會兒。


function onChange(e){

var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  var FirstEmptyA = getFirstEmptyRow('A:A');

    Logger.log(FirstEmptyA);

  var FirstEmptyC = getFirstEmptyRow('C:C');

    Logger.log(FirstEmptyC);

  var dif = Math.abs(FirstEmptyA - FirstEmptyC);

    Logger.log(dif);

  var EmptyArow =ss.getRange(FirstEmptyA ,3)

  var validationList = SpreadsheetApp.newDataValidation().requireValueInList(['OASIS','LAT','CQ','MDR'], true).build()

  if(FirstEmptyA - FirstEmptyC < 0){

      var rangedif =ss.getRange(FirstEmptyA+1,3,dif)

        rangedif.clearDataValidations();

    rangedif.clearContent();

  }

 else if(FirstEmptyC - FirstEmptyA < 0) {

     var rangedif =ss.getRange(FirstEmptyC +1,3,dif)

     rangedif.setDataValidation(validationList); 

        rangedif.setValue('OASIS');

  }


}

function getFirstEmptyRow(range) {

  var spr = SpreadsheetApp.getActiveSpreadsheet();

  var column = spr.getRange(range);

  var values = column.getValues();

  var ct = 0;

  while ( values[ct] && values[ct][0] != "" ) {

    ct++;

  }

  return (ct);

}


查看完整回答
反對 回復(fù) 2021-06-03
?
POPMUISE

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個贊

我看到您getFirstEmptyRow(range)返回零索引的行。但是您可以使用它來獲取空 A 行,var EmptyArow =ss.getRange(FirstEmptyA,3)其中的行將為您提供空行上方的行。嘗試修復(fù)它并讓我們知道它是否有效。


查看完整回答
反對 回復(fù) 2021-06-03
  • 2 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號