前提・実現したいこと
Googleスプレッドシートを開き
A列からD列まで入力し、C列とD列を範囲指定してD列を基準に
昇順並べ替えをしたいです。
発生している問題・エラーメッセージ
指定した範囲の、データが含まれているデータのみを指定して
並べ替えをしたいがうまくいきません。
自分でいろいろ調べ、いろんな方の実用例等を参考にしましたが
まったくの初心者でこの次をどうしていいのか分かりません。
JavaScript
1function myFunction() { 2 var spreadsheet=SpreadsheetApp.getActiveSpreadsheet(); 3 var sheet=spreadsheet.getSheets()[0]; 4 var lastcol=sheet.getRange("D:D").getValues(); 5 var lastrowD=lastcol.filter(String).length; 6 7};
試したこと
初心者なりに見様見真似で以下のコードを書いて並べ替えは成功しますが
ascending:trueと最後に記載すると空白部分が一番上にきて
データ入力されたセルが後ろのほうに並べ替えてしまいます。
また、falseにすると空白セルは後ろへいき、入力されたデータは上にくるのですが
D列に記載した番号が当たり前ですが「10.9.8.7..」となります。
なので空白セルは除いた並べ替えがしたいと思い、上記に記載したコードを
調べながら書きましたが分からなくなってしまいました。
JavaScript
1function myFunction() { 2 var spreadsheet=SpreadsheetApp.getActiveSpreadsheet(); 3 var sheet=spreadsheet.getSheets()[0]; 4 var lastrow=sheet.getLastRow(); 5 var lastcol=sheet.getLastColumn(); 6 sheet.getRange(1, 3, lastrow, lastcol).sort({column: 4, ascending: false}); 7 8}
補足情報(FW/ツールのバージョンなど)
まったくの初心者で関数が少しわかる程度の者です。
業務でGoogleスプレッドシートを使う事が多く、業務効率化とスキルアップで
GASの存在を知り勉強し始めて、手始めに今回の並べ替えを自分でやってみようと
したところさっそく行き詰った次第でございます。
レベルの低い質問でお恥ずかしいですがご教授ください。
###補足情報(シートデータの具体的な内容)
質問があったのでシートデータの内容を記載します。
不備ございましたら教えてください。
内容としては商品の在庫確認するための商品リストとチェックリストの
フォーマットです。
『シート1』商品リスト
セルA:1.2.3.4..といった番号
セルB:商品の区分(例:冷蔵庫/エアコン/テレビ)
セルC:型番+日付
セルD:セルCには型番以外に日付まで入っているため純粋な型番を抽出するため
関数のMIDを使って型番を抽出
『シート2』チェックリストのフォーマット
セルA:1.2.3.4..といった番号
セルB:VLOOKUPでセルAの番号を検索キーとし、シート1から型番を反映
セルC:作業者が現物確認できたら✔を書き込む用の空白枠
回答1件
あなたの回答
tips
プレビュー