Google スプレッドシート用に 3 つの個別の関数を作成しました。それぞれが学生の電子メール アドレス (firstname.lastnameXX@d155.org) を入力として受け取ります。ここで、XX は学生の卒業年を表し、3 つの情報のうちの 1 つを返します。それぞれ。
- ファーストネーム
- 苗字
- クラス(初級、中級、中級、上級)
どの列に学生のメールアドレスのリストが含まれているかをユーザーに尋ねるアドオンを作成し、その列をループして、各学生のメールアドレスで各関数を実行し、データを別々の列に分けたいと思います。メニュー項目を作成し、機能を割り当てることに慣れています。すばらしい for ループまたは 3 が必要な気がします。また、いくつかのロジックと、ユーザーがどの列に電子メール アドレスがあるかを選択する方法を組み込む必要もあります。以下は、私の各関数のコードです。どんな助けでも大歓迎です!
//Takes a student's email address and returns their proper first name.
function FNAME(input) {
var length = input.length;
var shortened = input.substring(0, length-11);
var replaceSpace = shortened.replace('.', ' ');
var spacePlace = replaceSpace.indexOf(" ");
var fName = replaceSpace.charAt(0).toUpperCase() + replaceSpace.slice(1, spacePlace);
return fName;
}
//Takes a student's email address and returns their proper last name.
function LNAME(input) {
var length = input.length;
var shortened = input.substring(0, length-11);
var replaceSpace = shortened.replace('.', ' ');
var spacePlace = replaceSpace.indexOf(" ");
var lName = replaceSpace.charAt(spacePlace+1).toUpperCase() + replaceSpace.slice(spacePlace+2);
return lName;
}
//Takes a student's email address and returns their class.
function GLEVEL(input) {
var currentTime = new Date();
var length = input.length;
var shortened = input.substring(0, length-9);
var newLength = shortened.length;
var gyear = input.substring(newLength-2, newLength);
var year = currentTime.getYear();
var month = currentTime.getMonth();
if (year - gyear == 2000 && month <= 6) {
gyear = "Senior";
}
else if (year - gyear == 1999 && month >= 7) {
gyear = "Senior";
}
if (year - gyear == 1999 && month <= 6){
gyear = "Junior";
}
else if (year - gyear == 1998 && month >= 7) {
gyear = "Junior";
}
if (year - gyear == 1998 && month <= 6){
gyear = "Sophomore"
}
else if (year - gyear == 1997 && month >= 7) {
gyear = "Sophomore";
}
if (year - gyear == 1997 && month <= 6){
gyear = "Freshman";
}
else if (year - gyear == 1996 && month >= 7) {
gyear = "Freshman";
}
return gyear;
}