復習:繰り返し処理と条件分岐
Googleスプレッドシートでは、GASの機能を用いて、様々な業務の自動化を行えます。
その中で、繰り返し処理と条件分岐の二つの使い方を覚えておけば、かなり色々なことができます。
ちなみに、指定した行を順番に見ていき(繰り返し)、行番号が奇数だった場合に「あ」と入れる(条件分岐)をするためのGASでの構文は次の通りです。
function myFunction() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
for(let i = 2; i <= 5; i++) {
if(i % 2 == 1){
spreadsheet.getRange('A' + i).setValue('あ');
}
}
}
詳細は下記の記事をご確認ください。
入金突合を行う!
債権リストと入金リスト
さっそく、この二つの機能を使って、債権突合をしていきますが、その前に、債権リストと入金リストを整理する必要があります。
まず債権リストですが、次のように、「取引先名」「請求日「支払期日」「金額」に加えて、振り込みで入ってくることを想定して、「振込人名義」を持っておくと、便利です。
これに対して入金は、振込人名義と金額、入金日が入っているイメージなので、次の通りになります。
突合を行う
さて、ここまで準備ができれば、あとは突合用のGASを書いていくだけです。
やることは非常に簡単で、次の三つのステップで進みます。
- 入金リストを一行ずつ見ていく(繰り返し処理)
- 債権リストを一行ずつ見ていく(繰り返し処理)
- 確認中の入金リストの名義・金額と、確認中の債権リストの名義・金額が一致していたら突合する(条件分岐)
以上より、GASを書く際には、繰り返し処理の中に繰り返し処理をネストし、その中でさらに条件分岐を入れて処理をすればよいということになります。
function myFunction() {
const activeSpreadSheet = SpreadsheetApp.getActiveSpreadsheet()
var creditsheet = activeSpreadSheet.getSheetByName('債権リスト');
var paymentsheet = activeSpreadSheet.getSheetByName('入金リスト');
for(let i = 2; i <= 3; i++) {
for(let j = 2; j <= 5; j++) {
if(creditsheet.getRange('E' + j).getValue() == paymentsheet.getRange('A' + i).getValue() &
creditsheet.getRange('D' + j).getValue() == paymentsheet.getRange('B' + i).getValue() ){
creditsheet.getRange('F' + j).setValue('入金済');
}
}
}
}
ポイントは、それぞれのシートをvarで変数として設定し、getvalue()で値を取得して突合しているというところです。
実行すると、次の通り、3行目と4行目が「入金済」になっています。
コメント