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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

733閲覧

二次元配列を取得すると、1列目以外undefinedになってしまう

dela

総合スコア9

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2021/10/24 04:31

グーグルスプレッドシートの情報を二次元配列で取得し、slackに飛ばしたいです。
スプレッドシートにある情報のうち、7列目のチェックボックスを条件にして、
2列目、3列目、5列目、4列目(終了日時)
をslackに投稿しようとするのですが、
2列目以外、undefinedとなってしまいます。 

つまり、
|列1|列2|列3|列4|列5|列6|列7|
|:--|:--:|--:|
|1|情報1|情報2|開始日|終了日|担当者名|[チェックボックス]|

というのが複数行あるスプレッドシートですが、
情報1:undefined:undefined:undefined
こういうのが形になってしまいます。

3、5列も文字列として取得し、4列目をyyyy/mm/ddで取得し、slackに投稿したいです。

//スプレッドシートのメッセージ取得 function getMessage(){ var spreadSheet = SpreadsheetApp.openByUrl('URL'); //シートの番号 var sheet = spreadSheet.getSheetByName('シート名'); //最終行  let lastRow = sheet.getLastRow(); //取得するシートの行列(2行目、1列目、最後の行まで、7列分) var messageArray = sheet.getRange(2, 1, lastRow-1, 7).getValues(); //2次元配列 var messageSlack = []; //配列内の一行目から最後の行まで for(var i = 0; i < messageArray.length; i++){   //配列内の7列目にあるチェックボックスがチェックされてないもののみ if(messageArray[i][6] != true) { messageSlack.push(messageArray[i][1]+":"+[i][2]+":"+[i][5]+ ":"+[i][4]); } } var sendMessage = messageSlack.join('\n'); Logger.log(sendMessage); return sendMessage; }

よろしくお願いいたします

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

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

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

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

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

guest

回答1

0

ベストアンサー

以下の部分でmessageArray[i][2]などとすべきところが[i][2]になってしまっているのが原因ではないでしょうか。

javascript

1messageSlack.push(messageArray[i][1]+":"+[i][2]+":"+[i][5]+ ":"+[i][4]);

javascript

1messageSlack.push(messageArray[i][1]+":"+messageArray[i][2]+":"+messageArray[i][5]+ ":"+messageArray[i][4]);

投稿2021/10/24 04:41

fj68

総合スコア752

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

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

dela

2021/10/24 04:48

解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問