ইউআই বাড়ানোর জন্য গুগল অ্যাপস স্ক্রিপ্টের উত্সাহিত করুন
কলামগুলিতে পাঠ্য হ'ল একটি খুব সুবিধাজনক বৈশিষ্ট্য এবং এটির অন্যতম কারণ যে গুগল স্প্রেডশিট ব্যবহারকারীরা এক্সেল ব্যবহার করতে ফিরে যান। যতক্ষণ না গুগল আনুষ্ঠানিকভাবে বৈশিষ্ট্যটিকে সমর্থন করার সিদ্ধান্ত নেয়, এই সমাধানটি কার্যকারিতাটিতে যোগ করার জন্য পলিফিল হিসাবে ব্যবহার করা যেতে পারে।
কোডটি এখানে:
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [];
menuEntries.push({ name:"Text to columns", functionName:"textToColumns" });
menuEntries.push({ name:"Text to columns (custom separator)", functionName:"textToColumnsCustom" });
menuEntries.push(null);
menuEntries.push({ name:"Columns to Text", functionName:"columnsToText" });
menuEntries.push({ name:"Columns to Text (custom separator)", functionName:"columnsToTextCustom" });
ss.addMenu("Advanced", menuEntries);
}
function textToColumnsCustom() {
var separator = Browser.inputBox("Text to column","Enter the the separator",Browser.Buttons.OK);
textToColumns(separator);
}
function columnsToTextCustom() {
var separator = Browser.inputBox("Column to text","Enter the the separator",Browser.Buttons.OK);
columnsToText(separator);
}
// Expands a single cell of CSV formatted text to multiple columns
function textToColumns(separator) {
var sep = typeof(separator) !== 'undefined' ? separator : ',';
var ss = SpreadsheetApp.getActiveSheet();
var r = ss.getActiveRange();
// check that only one column was selected
var col = r.getColumn();
if(col !== r.getLastColumn()) {
Browser.msgBox("Error", "Invalid selection, too many columns.", Browser.Buttons.OK);
return;
}
var firstRow = r.getRow();
// short cut the one row selection
if(firstRow === r.getLastRow()) {
var values = r.getValues().toString().split(sep);
ss.getRange(firstRow,col+1,1,values.length).setValues(new Array(values));
return;
} else {
var rows = r.getValues();
var values = [];
var cols = 0;
for(var i = 0, len = rows.length; i < len; i++) {
var rowValues = rows[i].toString().split(sep);
var rowValuesLen = rowValues.length;
if(cols < rowValuesLen) { cols = rowValuesLen; }
values.push(rowValues);
}
// set all values at once (padding required because setValues doesn't accept jagged 2d arrays)
padRow(values, cols);
ss.getRange(firstRow,col+1,values.length,cols).setValues(values);
}
}
// Pads a row with empty values to the specified length
function padRow(array, length) {
for(var i = 0; i < array.length; i++) {
var arrLen = array[i].length;
if(arrLen < length) {
var padLen = length - arrLen;
var padding = new Array(padLen);
array[i].push.apply(array[i], padding);
for(var j = 0, len = array[i].length; j < len; j++) {
if(typeof(array[i][j]) === 'undefined') {
array[i][j] = "";
}
}
}
}
return array;
}
function columnsToText(separator) {
var sep = typeof(separator) !== 'undefined' ? separator : ',';
var ss = SpreadsheetApp.getActiveSheet();
var r = ss.getActiveRange();
var col = r.getColumn();
var firstRow = r.getRow();
var rows = r.getValues();
var values = [];
for(var i = 0, len = rows.length; i < len; i++) {
var value = rows[i].join(sep);
values[i] = [value];
}
col -= 1;
ss.getRange(firstRow,col,values.length,1).setValues(values);
}
স্ক্রিপ্ট সম্পাদক সংরক্ষণ এবং বন্ধ করুন। তারপরে, স্প্রেডশিটটি রিফ্রেশ করুন। এটি লোড হতে এক সেকেন্ড সময় নেবে তবে আপনি টুলবারে 'সহায়তা' এর পরে 'অ্যাডভান্সড' পপআপ নামে একটি মেনু দেখতে পাবেন।
ব্যবহার:
- বিভাজন করতে মানগুলি সহ ঘর (গুলি) নির্বাচন করুন
- কলামগুলিতে উন্নত → পাঠ্য নির্বাচন করুন
এটাই. আপনি একটি স্বনির্ধারিত ডিলিমিটার ব্যবহার করে ('টেক্সট টু কলামগুলি (কাস্টম)' এর মাধ্যমে একটি বিভাজনও করতে পারেন এবং প্রক্রিয়াটি বিপরীত করতে পারেন ('কলামগুলিতে পাঠ্য' মাধ্যমে)।