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

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

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

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

配列

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

解決済

【GAS】unshiftによる配列の要素追加ができない

Akira_1
Akira_1

総合スコア0

Google Apps Script

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

配列

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

1回答

0評価

0クリップ

280閲覧

投稿2021/09/22 02:59

やりたいこと

商品管理シートから、別システム取り込み用のデータを出そうとしています。
大元のspreadsheetから、特定の条件に合致する商品を抽出し、その後必要な列だけ抜き出し、最後に先頭行に項目名をつけて出力ということがしたいです。

GAS

function sort() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sh = ss.getSheetByName("商品管理"); let lastRow = sh.getLastRow(); let lastCol = sh.getLastColumn(); //抽出する条件項目(A1セルに記載)を取得 const range = sh.getRange('A1'); const planNo = range.getValue() //表のデータ取得(リストは9行目から) let arr = sh.getRange(9,1,lastRow,lastCol).getValues(); //特定の条件に合致するものを抽出 arr= arr.filter(elm => (elm[23] === planNo)); //必要な列の取り出しと並び替え arr= arr.map(elm => [elm[4],elm[6],elm[7],elm[14],elm[16],elm[20],elm[21],elm[12]]); //先頭にタイトル行追加 arr.unshift = (["SKU","ASIN","商品名","仕入金額","国内送料/個","納品費用合計","国際送料","納品数"]); Logger.log(arr); }

この続きはここでは書いていないですが、配列として取り出した後は、csvファイルとして保存します。

解決したいこと

unshiftさせた先頭の項目名が出てこず、項目名以外の配列がそのまま出力されてしまいます。
ログを確認すると、なぜか配列の最後にunshiftという列が追加されています。
他のpushなどの配列操作を試しましたが同様に最後に関数名?の配列ができてしまいます。
イメージ説明

先頭行に項目名をつけて、最終的にこのような配列を出したいのですが、解決方法ご教示いただけませんでしょうか。
イメージ説明

項目名だけ残した別のシートに貼り付けということはできるのですが、シートを増やしたくないので、できれば配列内で解決したいです。
宜しくお願いいたします。

配列操作参考

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Google Apps Script

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

配列

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