プロが教える店舗&オフィスのセキュリティ対策術

//本日分のシートへ転記
var value_torikesi=sheets[0].getRange(i,9).getValue ;
if(value_torikesi != "取消処理"){
Logger.log(value_torikesi != "取消処理") ;
Logger.log(i) ;
//sheets[1].getRange(LastRow_sh1,3,1,7).setValues(value_moto);
}

この部分を ループで回し 「取消処理」と入った行をスルーするつもりなのですが、
「取消処理」と入っているにも関わらず trueを返してきます
ループはすべての行を参照を確認しています
「取消処理」の入力は 手作業ではなく 自動で入ります
念のため 「取消処理」と入力されていて スルーしている行のセルを
コピーして貼り付けしていますが結果は同じです
(テスト中なので14行しかありませんがその中で3つくらいスルーしてくれません

考えられることを教えてください

質問者からの補足コメント

  • つらい・・・

    セルの書き換えは
    sheets[0].getRange(value_i,9).setValue(9); 
    でやっていいます
    実は googleformを使って お弁当の注文管理をしようと
    考えています
    フォームの入力イベントで フォームの回答シートから
    当日の分のデータを抜き出して 当日用意すべき内容を
    把握するためです
    入力時 明日以降の日付は拾わず、
    日が変わってからトリガーで実行し 本日となった分を
    取得するのですが その際 入力間違えや やっぱりいらない
    の情報を フォームから入力させています
    その時に 「取消処理」と行端に自動入力し
    サンプリング時にそれをスルーするつもりでした
    もし これが無理ならば ●日分のお弁当 としての
    日付を元にサンプリングしているので その日付を消してしまう
    処理をすればとりあえず思う動作はするのですが・・・

      補足日時:2021/04/18 12:50
  • この表から 本日の行を拾って別シートへ投げています

      補足日時:2021/04/18 12:54
  • 画像がうまく貼れません・・

      補足日時:2021/04/18 12:55
  • とりあえず 処理の方法を考え直しました

    「日付」を変更するようにしてサンプリング時にひっかからないようにしました
    日付の削除や特定文字の付加をすると 他のコードが
    うまく走らない(日付の比較をやっている為)ので、
    西暦部分を1900年に書き直すことで対応しました
    邪道ですが とりあえず動いています

      補足日時:2021/04/18 13:41

A 回答 (8件)

No7です。



>可能性のあるものを 1つづつ取り払っているのですが・・・
んで、値が違うのは、いったい「どこが違った」のでしょうか???
    • good
    • 0

No6です。



>判定されないセルは 何回やっても同じです
>(同じデータが入ったままでは という意味)
再現性があるのですから、同じことを何度やっても何も変わりはないでしょう。

No6の回答は、その原因を調べるためのヒントを記したつもりですけれど??

>googleFormからの入力に対し トリガーで
>処理をかけています
全体の構成がわかりませんけれど、反映のタイムラグが(あるのかないのかも知りませんけれど)、関係しているのかもしれませんね。
    • good
    • 0
この回答へのお礼

頭の中で テツ&トモがこだましています・・・

可能性のあるものを 1つづつ取り払っているのですが・・・

なかなか・・

お礼日時:2021/04/18 17:00

こんにちは



>「取消処理」と入っているにも関わらずtrueを返してきます
スクリプトから見て、trueなんでしょうね。
ありそうなのは、スペースや改行などが入っている可能性でしょうか。

テストしている表で、予定通りに判定されないセルは決まっているのでしょうから、そのセルの値に対して、
 ・文字数の確認
 ・1文字ずつの比較
などを行ってみれば、原因がわかるのではないかと思われます。

原因がわかれば、対処方法もおのずと見えてくるのではないでしょうか。
(他の方の回答にあるように、「含まれる」で判断すれば良さそうに思えますが、原因不明のままでは気持ち悪いですし、確実さが不明ですので)
    • good
    • 0
この回答へのお礼

回答ありがとうございます
画像貼ったのですが 反映されません
教えてgooは 画像貼りが全然ダメですね・・

判定されないセルは 何回やっても同じです
(同じデータが入ったままでは という意味)
行をすべて削除し 1からテストデータを入れてやっても
同様の症状が・・(行は変わりますが)
googleFormからの入力に対し トリガーで
処理をかけています
お弁当の予約管理をしようとしています
先の入力データを あとから取消する為のものです

お礼日時:2021/04/18 16:02

謎ですね。


indexOfメソッド
lastIndexOfメソッド
searchメソッド
などでも同じなんですよね?
    • good
    • 0
この回答へのお礼

まだ gas(js)は はじめたばかりなので
あまり難しいのはわかりません(VBA中級レベルなのもで・・)

お礼日時:2021/04/18 12:53

!=ではなくて!==でも同じ・・・ですよね?

    • good
    • 0
この回答へのお礼

はい 変わらず正しい動作ではありません
行を削除し 新しくデータを入れてやってみましたが
やはり 同様に スルーすべき状態(空白か9が入っているかの判定)
なのでヒットしてしまいます

お礼日時:2021/04/18 12:43

あと、セルの表示形式なんかも同じですよね?

    • good
    • 0
この回答へのお礼

行を削除して新しくしているので同じです

お礼日時:2021/04/18 12:44

!=ではなくて、○○を含む(または○○を含まない)というコードに書き換えてみるのは厳しそうですか?


(比較部分を文字列検索のコードにするなど)
    • good
    • 0
この回答へのお礼

「!=」ではなく「==」で
else で対処しようと思い やってみたのですが
やはり ”結果は同じ” でした
trueが falseになって返ってきただけ

お礼日時:2021/04/18 12:35

文字コードとかでしょうか・・・?


セルが取消処理ではなくて、取消処理を含むというコードにしたり、
取消処理という文字列を8とか半角数字に置き換えてもダメですか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます

「cancel」 や 「9」 にしてみましたが
ダメでした
セル側に問題があるのでしょうか・・?
でも 大丈夫なセルをコピーしてるし・・・

お礼日時:2021/04/18 12:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!