-
-
Save SIFAR786/cd6d8254855969f4fdffce0e124e0b87 to your computer and use it in GitHub Desktop.
google apps script convert column number to letter
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function columnToLetter(column, row) { | |
var temp, letter = ''; | |
while (column > 0) { | |
temp = (column - 1) % 26; | |
letter = String.fromCharCode(temp + 65) + letter; | |
column = (column - temp - 1) / 26; | |
} | |
return letter + row; | |
} | |
function getCategories() { | |
var namedRanges = SpreadsheetApp.getActiveSpreadsheet().getNamedRanges(); | |
var categories = {}; | |
for(var i = 0; i < namedRanges.length; i++) { | |
var category = namedRanges[i].getRange().getValues(); | |
categories[category.shift()] = category.map(function(each) {return each.toString();}); | |
} | |
return categories; | |
} | |
function getCategoryList() { | |
var categories = getCategories(); | |
var keyArr = []; | |
for(var key in categories) { | |
keyArr.push(key); | |
} | |
Logger.log(keyArr.join(',')); | |
} | |
function onEdit(e) { | |
var categories = getCategories(); | |
var subCategoryCell = columnToLetter(e.range.getColumn() + 1, e.range.getRow()); | |
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2'); | |
var vals = categories[e.value]; | |
var rule = SpreadsheetApp.newDataValidation().requireValueInList(vals, true).build(); | |
sheet.getRange(subCategoryCell).clear().setDataValidation(rule); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Column to Letter | |
* from StackOverflow: http://stackoverflow.com/questions/21229180/convert-column-index-into-corresponding-column-letter | |
*/ | |
function columnToLetter(column) { | |
var temp, letter = ''; | |
while (column > 0) { | |
temp = (column - 1) % 26; | |
letter = String.fromCharCode(temp + 65) + letter; | |
column = (column - temp - 1) / 26; | |
} | |
return letter; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment