お仕事おつにゃッス🐈
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
スプレッドシートで作成したリストから空白セルをいちいち目視で判断するのは面倒くさいですよね。
リストが膨大なほど人的ミスも起こりやすいでしょう。
しかし、Google Apps Scriptを使えば簡単に空白セルをスキップできます。
こんな人におすすめ!
- 空白セルを消さずに残したい
- 自動でスキップして業務効率化したい
- プログラミングでJavaScriptを学んだけど何を作っていいかわからない
非常にシンプルなコードで実現するので気軽に学んでいきましょう。
空白セルをスキップする完成イメージ
作成するシートのD列に空白セルがあればログ出力しないアプリを開発します。
この記事では、空白セルをスキップする2つの方法を紹介。
あなたが開発するアプリに合わせてお好きな方を選べます。
空白セルをスキップすることで、シートのデータ処理の業務効率化を実現できます。
空白セルの処理が一気に楽になるッスよ!
空白セルをスキップする準備
Google Apps Script でスプレッドシートの空白セルを判定する準備をします。
ファイルは1つ必要。
必要なファイル
- Google スプレッドシート…リストの作成&コードの貼り付け
スプレッドシートの作成
Google スプレッドシートを作成します。
この記事では
- 名前
- 性別
- 年齢
- その他
の4項目を追加します。
今回は4列目のD列を空白判定していきます。
スプレッドシートの準備は以上です。
サンプルコードを貼り付ける場所
サンプルコードはGoogle スプレッドシートにコピペ。
上バーの「拡張機能」の中にある「Apps Script」をクリックしてコードを貼り付けます。
① isBlankメソッドを使う方法
1つ目はisBlankメソッドを用いる方法です。
解説の項目
- isBlank() | 空白セルを判定
- サンプルコード
- A, 使用するスプレッドシートの定義
- B,セルが空白ならスキップ、埋まっているならログ出力
isBlank() | 空白セルを判定
isBlankメソッドはスプレッドシートのセルが空白かどうかを判定するメソッドです。
セルが空白ならTRUE、埋まっているならFALSEのブーリアン型を返します。
引数は必要ありません。
サンプルコード
コードの右上にあるマークを1クリックすると、すぐにコピペできます。
//if判定でisBlankメソッドを使う方法
function blankSkip() {
//A, スプレッドシートの定義
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow(); //最終行を取得
const READ_COL = 4 //「その他」の列
// B, セルが空白ならスキップ、埋まっているならログ出力
for(var i=1; i<=lastRow; i++){
const value = sheet.getRange(i, READ_COL); //空白判定するセルを取得
if(value.isBlank()){
continue;
}else{
Logger.log(i +"行目には「" + value.getValue() + "」が値として埋まっています。")
}
}
}
A, 使用するスプレッドシートの定義
//A, スプレッドシートの定義
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow(); //最終行を取得
const READ_COL = 4 //「その他」の列
使用するスプレッドシートのシートを指定します。
getLastRowメソッドでシートの最終行を取得します。
また、定数READ_COLでシートの「その他」列を指定します。
B,セルが空白ならスキップ、埋まっているならログ出力
// B, セルが空白ならスキップ、埋まっているならログ出力
for(var i=1; i<=lastRow; i++){
const value = sheet.getRange(i, READ_COL); //空白判定するセルを取得
if(value.isBlank()){
continue;
}else{
Logger.log(i +"行目には「" + value.getValue() + "」が値として埋まっています。")
}
}
isBlankメソッドでセルの空白判定。
セルが空白ならcontinueで処理を飛ばし、埋まっていたら値を取得してログ出力します。
解説は以上です。
②変数内の空文字を調べる方法
2つ目はgetValueメソッドでセルの値を取得し、定数valueが空か値が存在するかを調べる方法です。
こちらでは先ほど紹介したisBlankメソッドを使いません。
解説の項目
- サンプルコード
- ①と異なる点
サンプルコード
コードの右上にあるマークを1クリックするとコピペできます。
//""とnullを使って空文字を判定する方法
function blankSkip() {
//A, スプレッドシートの定義
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow(); //最終行を取得
const READ_COL = 4 //「その他」の列
// B, セルが空白ならスキップ、埋まっているならログ出力
for(var i=1; i<=lastRow; i++){
const value = sheet.getRange(i, READ_COL).getValue(); //空白判定するセルの値を取得
if(value == "" || value == null){
continue;
}else{
Logger.log(i +"行目には「" + value + "」が値として埋まっています。")
}
}
}
①と異なる点
先ほど紹介した①から変更したのは2点。
- 定数valueにgetValueメソッドを追加
- if文の判定をisBlankメソッドから「””」と「null」に変更
こちらのコードでは、セル内の値を取得してから定数が空文字かを判定します。
定数の中に文字列が存在しない場合は処理を飛ばし、存在するならログ出力します。
コードが異なっても結果は①と同じなのであなたの使いやすい方を選びましょう。
どちらも結果は同じなので安心して欲しいッス!
空白をスキップするテスト
実際にGASで空白セルをスキップします。
Apps Scriptの上部にあるバーの文字が「blankSkip」になら、左側の「実行」を押します。
「このアプリはGoogleで確認されていません」と表示した場合はこちら。
下の画像のようにログ結果がでたら成功です。
空白のセルを飛ばして値が埋まっているセルだけを出力できました。
おわりに | 文系でもプログラミングのスキルを身につけるには
以上、GASでスプレッドシートの空白セルをスキップする方法でした。
- 空白セルをスキップするには2つの方法がある
- 1つ目はisBlankメソッドを使って空白判定
- もう1つは変数の値がnullか空白かで判定する方法
- 結果は同じだからどちらを使ってもOK
そのままコピペして日常業務で使ったり、プログラミングの練習や動作確認用に使ってみましょう。
事務や営業などの文系がプログラミングスキルを身につけるなら日々の学習と実践的なアプリ開発が必須。
というのも、頭と体で覚えていかないとすぐに忘れて即戦力のスキルにならないからです。
プログラミング言語のGASは学びやすさから初心者にも人気があります。
GASを効率的に学ぶなら以下の2つの方法が多いです。
- 参考書やオンライン教材で独学
- プログラミングスクールを利用
正しく学ぶことで非エンジニアでも実用的な業務効率化のスキルが身に付きます。
デイコーでは、GASのサンプルコードからおすすめのプログラミングまで幅広く紹介。
初心者にもわかりやすく解説しています。
プログラミングスクールは82社を分析したッス!
次回の記事もご期待ください!
それでは、よいプログラミングライフを!