【问题标题】:Conditions problems for Google Sheets scripts [duplicate]Google表格脚本的条件问题[重复]
【发布时间】:2021-07-03 10:43:11
【问题描述】:

我不知道为什么我的条件不起作用,第一个条件总是给出真实的输出。我对此很陌生。

function Save() { 
  var Sheet = SpreadsheetApp.getActiveSpreadsheet();
  var shtinput = Sheet.getSheetByName('INPUT');
  var shtdb3 = Sheet.getSheetByName('MARET');
  var shtdb4 = Sheet.getSheetByName('APRIL');
  var shtdb5 = Sheet.getSheetByName('MEI');
  var shtdb6 = Sheet.getSheetByName('JUNI');
  var shtdb7 = Sheet.getSheetByName('JULI');
  var shtdb8 = Sheet.getSheetByName('AGUSTUS');
  var shtdb9 = Sheet.getSheetByName('SEPTEMBER');
  var shtdb10 = Sheet.getSheetByName('OKTOBER');
  var shtdb11 = Sheet.getSheetByName('NOVEMBER');
  var shtdb12 = Sheet.getSheetByName('DESEMBER');
  var nosheet = shtinput.getRange('E5').getValue();
  var pilihsheet = [];
  if (nosheet = 'JANUARI') {
    pilihsheet = Sheet.getSheetByName('JANUARI');
  } else if (nosheet = 'FEBRUARI') {
    pilihsheet = Sheet.getSheetByName('FEBRUARI');
  } else if (nosheet = 'MARET') {
    pilihsheet = Sheet.getSheetByName('MARET');
  } else if (nosheet = 'APRIL') {
    pilihsheet = Sheet.getSheetByName('APRIL');
  } else if (nosheet = 'MEI') {
    pilihsheet = Sheet.getSheetByName('MEI');
  } else if (nosheet = 'JUNI') {
    pilihsheet = Sheet.getSheetByName('JUNI');
  } else if (nosheet = 'JULI') {
    pilihsheet = Sheet.getSheetByName('JULI');
  } else if (nosheet = 'AGUSTUS') {
    pilihsheet = Sheet.getSheetByName('AGUSTUS');
  } else if (nosheet = 'SEPTEMBER') {
    pilihsheet = Sheet.getSheetByName('SEPTEMBER');
  } else if (nosheet = 'OKTOBER') {
    pilihsheet = Sheet.getSheetByName('OKTOBER');
  } else if (nosheet = 'NOVEMBER') {
    pilihsheet = Sheet.getSheetByName('NOVEMBER');
  } else if (nosheet = 'DESEMBER') {
    pilihsheet = Sheet.getSheetByName('DESEMBER');
  }               


  var tgl = shtinput.getRange('E7').getValue();
  var inout = shtinput.getRange('E9').getValue();
  var jumlah = shtinput.getRange('E11').getValue();
  var kategori = shtinput.getRange('E13').getValue();
  var keterangan = shtinput.getRange('E15').getValue();
  var sumber = shtinput.getRange('E17').getValue();

  var baris = pilihsheet.getRange('H3').getValue();
  baris += 1;
  var rangeisi = pilihsheet.getRange('A' + baris + ':F'+ baris);
  rangeisi.setValues([[tgl,inout,jumlah,kategori,keterangan,sumber]]);
  
  bersih();
}

function bersih() {
  var Sheet = SpreadsheetApp.getActiveSpreadsheet();
  var shtinput = Sheet.getSheetByName('Input');
  
  shtinput.getRange('E5').clearContent();
  shtinput.getRange('E9').clearContent();
  shtinput.getRange('E11').clearContent();
  shtinput.getRange('E13').clearContent();
  shtinput.getRange('E15').clearContent();
  shtinput.getRange('E17').clearContent();
  
}

【问题讨论】:

标签: javascript excel google-apps-script google-sheets conditional-formatting


【解决方案1】:

在您的 IF 语句中,您实际上是在为变量 nosheet 赋值:

if (nosheet = 'JANUARI') {

改成这样就可以了:

if (nosheet == 'JANUARI') {

有些人更喜欢使用“===”来比较数据类型

if (nosheet === 'JANUARI') {

另外,注意变量,它们区分大小写,大多数人使用驼峰式大小写来保持正确

所以而不是:

var shtinput = Sheet.getSheetByName('INPUT');

考虑:

var shtInput = Sheet.getSheetByName('INPUT');

【讨论】:

    猜你喜欢
    • 2020-08-20
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多