Google Spreadsheetの場合、
⇒A列は 1 でした。。。getValues()で使用していたため、0としてました。。。
個々の関数は、すべて 0 基準としています。
数値->アルファベット
function ConvertToLetter(iCol) {
var str = "";
var iAlpha = 0;
var iRemainder = 0;
iAlpha = parseInt((iCol / 26), 10);
iRemainder = iCol - (iAlpha * 26);
if(iAlpha > 0) {
str = String.fromCharCode(iAlpha + 64);
}
if(iRemainder >= 0) {
str = str + String.fromCharCode(iRemainder + 65);
}
return str;
}
アルファベット->数値
function ConvertToNumber(strCol) {
var iNum = 0;
var temp = 0;
strCol = strCol.toUpperCase();
for (i = strCol.length - 1; i >= 0; i--) {
temp = strCol.charCodeAt(i) - 65; // 現在の文字番号;
if(i != strCol.length - 1) {
temp = (temp + 1) * Math.pow(26,(i + 1));
}
iNum = iNum + temp
}
return iNum;
}
サンプル
function sample(){
var str = ConvertToLetter(0); // A
var str2 = ConvertToLetter(2); // C
var str3 = ConvertToLetter(5); // F
var str4 = ConvertToLetter(6); // G
var str5 = ConvertToLetter(11); // L
var str6 = ConvertToLetter(25); // Z
var str7 = ConvertToLetter(26); // AA
var num = ConvertToNumber("A"); // 0
var num2 = ConvertToNumber("C"); // 2
var num3 = ConvertToNumber("F"); // 5
var num4 = ConvertToNumber("G"); // 6
var num5 = ConvertToNumber("L"); // 11
var num6 = ConvertToNumber("Z"); // 25
var num7 = ConvertToNumber("AA"); // 26
return;
}
0 件のコメント:
コメントを投稿