-1
は、私は次のようなデータを持っている:GSheetsにユーザー入力の検証/ Javascriptを
Task | Number
A | 1
B | 2
C | 2
D | 3
E | 3
F | 3
2つの列があります。タスクを持つものと値を持つもの。私の目標は、ユーザーがタスクや数字を入力するとGoogleスプレッドに表示され、他のすべての数字に対してコードがチェックされることです。
たとえば、上記のデータがあり、再度入力した場合
F | 3
このユーザー入力を拒否するコード
以下はコードです。私はそれを実行している、と警告ボックスに、式
ss.getRange(i, 2).getValue() == ss.getRange(rng.getRow(), rng.getColumn()).getValue()
は一様にfalseに検証します。したがって、次のコードは3 == 3が実際には偽の宣言であることを宣言します。問題はなぜですか?そして、どうすればこの問題を解決できますか?
function checkEntry(){
//store the range as that cell
var rng = ss.getRange(8, 2)
//ui.alert(rng.getValue());
var dict = {}
var i = 2
var k = 1
//check the sheet
for(i=2;i<=last;i++){
ui.alert(ss.getRange(i, 2).getValue());
ui.alert(ss.getRange(rng.getRow(), rng.getColumn()).getValue());
ui.alert(ss.getRange(i, 2).getValue() == ss.getRange(rng.getRow(), rng.getColumn()).getValue());
}
"last"が定義されていないため、コードはまったく実行されません。 [mcve]を参照してください。また、(8,2)は8行目にあり、サンプルデータにはありません。最後に、コードにループ内でgetRange()。getValue()の束がある場合、あなたはApps Scriptを間違って使用しています。ループの前に 'getRange'を1回呼び出す必要があります。範囲はこの関数でアクセスしたいすべてのデータです。 – FTP