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

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

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

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

Q&A

解決済

1回答

1630閲覧

GASスプレットシート間でコピペを行うと日付の後に時刻が勝手に入る

yamm

総合スコア8

Google Apps Script

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

1グッド

0クリップ

投稿2018/11/27 03:03

あるシートからまるっとデータをコピーし貼り付けるGASを使って動かしているのですが
元のシートでは日付を貼り付け直すと全てに時刻が入ってしまいます。

▽具体例
元データ:2018/8/8
貼データ:2018/8/8 16:00:00

元データの日付は”表示”ではなくデータ自体に時刻がないことを確認しています。
貼付けデータにはすべての日時に16時 or 17時が自動で入ってしまう状況です。

この現象を解決したいのですがお知恵をいただけないでしょうか。

式は下記の通りとなります。
※コピペ情報は文字列、数値等入り混じったものをいっぺんにコピペしています。
※行はおよろ3000~5000程度です。

function deal() { var ss = SpreadsheetApp.openById('  '); // コピペ元 var sh = ss.getSheetByName(" "); //コピペ元 var lastRow = sh.getLastRow(); var cp = sh.getRange(2,1,lastRow,72).getValues(); var url = SpreadsheetApp.openById(' '); // コピペ先 var sheet = url.getSheetByName(" "); // コピペ先 sheet.getRange(2,1,lastRow,72).setValues(cp); };
papinianus👍を押しています

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

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

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

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

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

papinianus

2018/11/27 03:17

元データの日付は”表示”ではなくデータ自体に時刻がないことを確認しています。→どうやって確認したのですか?
yamm

2018/11/27 03:33

コピペ元のシートに直接確認しに行っています。確認方法はF2で確認しています。不足でしょうか?
papinianus

2018/11/27 03:46

スクリプトでは日付は必ず日時で処理されます。おそらくスプレッドシート上もそうなっているはずなので伺いました。念の為該当するセルを選択し、「表示形式」→「数字」→「日時」にしてご確認いただけませんか?
yamm

2018/11/27 03:56

ありがとうございます。表示形式を選択し確認した所、元データの日時は2018/08/08 0:00:00となっていました。
guest

回答1

0

ベストアンサー

ご提示のコードをコピペして適当なシートで実行させてみたのですが、特に時間が入るという動作は起こりませんでした。

またコピペ先のシートの日付が入る列の表示形式をあらかじめ日時にすれば、時間が表示されましたが0時0分0秒でした。

javascript

1 var cp = sh.getRange(2,1,lastRow,72).getValues(); 2 Logger.log(cp);//↑の下に←ここを追加

このようにしてログをご覧いただいて、時間がおかしくなっていますか?

投稿2018/11/27 04:03

papinianus

総合スコア12705

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

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

yamm

2018/11/27 04:12

Logger.log(cp)を確認した所この時点ですでに時刻が16:00になっていました。
yamm

2018/11/27 04:13

参照元のスプレットシートの時刻がずれてそうな気がしました。 確認します
papinianus

2018/11/27 04:15

スプレッドシートの「ファイル」メニューの「スプレッドシートの設定」のタイムゾーンは日本/東京で間違いないですか?
yamm

2018/11/27 04:16

参照元のスプレットシートの時刻が別の場所になっていたためコピーした時刻がずれてしまっていたようです。 東京に時刻を合わせた所時刻も00時00分で出力されました。 ご丁寧にありがとうございます!
papinianus

2018/11/27 04:17

このパターンははじめてでした。こちらこそ勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問