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; }