このコーナーでは、プログラミング学習コンテンツpaizaラーニングのレベルアップ問題集を、PythonとGAS(Google Apps Script)の両方で同じ問題を解いたコードを公開している学習ログです。
Python・GASのどちらの言語のコードも可能な限り詳細に解説致します。
GASはスプレッドシートのエディタを使ってコードを書いております。
Pythonではpaizaに入会しなくても問題集を解きたい方向けにpaiza.ioを用いております。paiza.ioの使い方はこちらから。
(入会するか否かは問題集を解いて見てからの読者様のご判断にお任せ致します。
どちらの選択をされても記事を読めるようになっておりますので、安心して下さい。)
問題:半角スペースを含まない文字列 s が 1 行で与えられるので、そのまま出力してください。
今回は、下記の入出力例3を用います。
入力例3
paiza813
出力例3
paiza813
ではまず、Pythonで解いてみます。
■ Pythonでの解き方 ■
手順として、
1:標準入力で文字列を取得する
2:取得した文字列を出力する
の2ステップで、行います。
まず、準備として、paiza.ioにこのように入力します。
(入力例3をコピペしたのみ)

コードは下記になります。
#標準入力で文字列を取得する
s=input()
#取得した文字列を出力する
print(s)プログラムを実行した出力結果です。

■ GASでの解き方 ■
今度は、同じ問題をGASで解いてみます。
まず、スプレッドシートにこの様に配置しました。

緑色のセルB1の所に入力した文字列を取得して、それをせるB3の黄色い所に出力します。
その際、この黄色く塗りつぶしたセルB3の所に、二次元配列として取得した文字列が格納された配列を出力します。
※スプレッドシートに表示する場合は、二次元配列としての配列に追加をして作成します※
手順はこのようになります。
1:SpreadSheetAppから階層を辿って現在のシートにアクセスする
2:配列arrayを宣言して緑色のセルの所を取得して格納する
3:配列arrayに格納出来たことをログ出力で確認する
4:スプレッドシートに出力するため、二次元配列として取得する配列arrays2を宣言する
5:pushメソッドでarray2にarrayを二次元配列として追加する
6:スプレッドシートに出力する前にarray2に二次元配列として格納されていることをログ出力で確認する
7:スプレッドシートの黄色いセルに出力する
手順1: SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss = SpreadsheetApp.getActiveSheet();
ここで定数ssにSpreadsheetAppから階層を辿ってアクティブシートにアクセスしています。
関数「standardInput1」の中にコードを書いていきます。
Standard Inputで標準入力の意味です。
function standardInput1() {
//SpreadSheetAppから階層を辿って現在のシートにアクセスする
const ss=SpreadsheetApp.getActiveSheet();
}手順2:緑色のセルB1(1,2)の文字列を取得して配列arrayに格納する
const array=[];
array.push(ss.getRange(1, 2).getValue());
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
//緑色のセルB2を取得して配列arrayを宣言して格納する
const array=[];
array.push(ss.getRange(1,2).getValue());
}手順3:配列arrayに格納出来たことをログ出力で確認する
console.log(s);
コードと実行結果です。
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
const array=[];
array.push(ss.getRange(1,2).getValue());
#配列arrayに格納出来たことをログ出力で確認する
console.log(array);
}
手順4:スプレッドシートに出力するため、二次元配列として取得するarray2を宣言する
const array2 = [];
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
const array=[];
array.push(ss.getRange(1,2).getValue());
console.log(array);
//スプレッドシートに出力するため、二次元配列として取得するarray2を宣言する
const array2=[];
}
手順5:pushメソッドでs2にsを2次元配列として追加する
array2.push(array);
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
const array=[];
array.push(ss.getRange(1,2).getValue());
console.log(array);
const array2=[];
//pushメソッドでarray2にarrayを二次元配列として追加する
array2.push(array);
}手順6:スプレッドシートに出力する前にarray2に二次元配列として格納されていることをログ出力で確認する
console.log(array2);
コードとログ出力結果です。
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
const array=[];
array.push(ss.getRange(1,2).getValue());
console.log(array);
const array2=[];
array2.push(array);
//スプレッドシートに出力する前にarray2に二次元配列として格納されていることをログ出力で確認する
console.log(array2);
}
手順7:スプレッドシートの黄色いセルB3に出力する
ss.getRange(3, 2).setValue(s2);
function standardInput1() {
const ss=SpreadsheetApp.getActiveSheet();
const array=[];
array.push(ss.getRange(1,2).getValue());
console.log(array);
const array2=[];
array2.push(array);
console.log(array2);
//スプレッドシートの黄色いセルB3に出力する
ss.getRange(3,2).setValue(array2);
}実行後のスプレッドシートです。

お疲れ様でした。ブレイクタイムPhotoは、

よみうりランド、ジュエルミネーション、グッジョ!
ご精読有難うございました。
■ GASの入門書の紹介です ■
詳解! Google Apps Script完全入門 [第3版]
単行本
Kindle版(電子書籍)
■ 関連記事 ■
paizaレベルアップ問題集「標準入力3」へ戻る
paizaレベルアップ問題集_PythonとGASのコード紹介トップページへ
写真クリエイターとしての活動
自己紹介









