質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

1653閲覧

【GAS】特定の日付を検索したい

JipvOvxMCyFrRX2

総合スコア18

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2019/09/03 07:26

5/1を検索したいのですがうまくいきません。
ご指摘の程、お願い申し上げます。

イメージ説明

function Search() {

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('DT');
var data = sheet.getRange(1,1,5,5).getValues();//検索範囲(セルA1:C3)

for(var i in data) {
for(var j in data[i]){

if(data[i][j] === 5/1){ Logger.log('存在する'); } }

}
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

予想するにC1で「5/1」と表示されているセルには「5/1」という値が入っていません。
おそらく、日付型で入っているため「if(data[i][j] === 5/1){」では等しいと判定されないのだと思われます。
(※そもそもよく見たら文字列ではなく数値で比較してますね。文字列比較ならば"5/1"ですね)
getValues後に下記でログ表示し、実際の値を確認してみると良いかと思います。

javascript

1Logger.log(data);

投稿2019/09/03 07:31

編集2019/09/03 07:43
yamap55

総合スコア1376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

JipvOvxMCyFrRX2

2019/09/03 07:41

ご回答いただき、大変感謝いたします。 「ログが見つかりません。Logger API を使用してプロジェクトにログを追加してください。」 と出てきてしまいます。 恐れ入りますがご教示の程お願い申し上げます。 function SearchArray1() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('DT'); var data = sheet.getRange(1,1,5,5).getValues();//検索範囲(セルA1:C3) for(var i in data) { for(var j in data[i]){ if(data[i][j] === 5/1){ //Logger.log('存在する'); Logger.log(data); } } } }
yamap55

2019/09/03 07:45

実行してないか、ログを出力する箇所が実行されていないのだと思います。 getValuesした直後に追記してはどうでしょうか。
JipvOvxMCyFrRX2

2019/09/03 07:49

getValuesした直後に追記したら、ログが出てきました!! 「[19-09-03 16:45:38:552 JST] [[, , Wed May 01 00:00:00 GMT+09:00 2019, , Thu May 02 00:00:00 GMT+09:00 2019], [シフト用従業員コード, 担当名, 水, 0本, 木], [101.0, パートA, , , ], [102.0, パートB, , , ], [103.0, パートC, , , ]]」 ここから、「5/1」という風に認識させて、文字が入っている番地を取得する文を作成する予定です。 迅速なご回答、誠にありがとうございました。 function myFunction() { var cells = SpreadsheetApp.getActiveSheet().getRange("C1:D1"); var result = Array.prototype.concat.apply([],cells.getValues()).indexOf("5/1"); if (result >= 0) { SpreadsheetApp.getUi().alert("指定した値のセルが見つかりました。"); } else { SpreadsheetApp.getUi().alert("指定した値のセルが見つかりませんでした。"); } } function SearchArray1() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('DT'); var data = sheet.getRange(1,1,5,5).getValues();//検索範囲(セルA1:C3) Logger.log(data); for(var i in data) { for(var j in data[i]){ if(data[i][j] === "5/1"){ //Logger.log('存在する'); } } } }
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問