গুগল স্প্রেডশিট সরবরাহ করে এমন স্ক্রিপ্টিং কার্যকারিতা ব্যবহার করে আমি এটি করার একটি উপায় খুঁজে পেয়েছি।
এটি কীভাবে করবেন তা এখানে:
- আপনার স্প্রেডশিটটি খুলুন
- মেনুতে, সরঞ্জামগুলিতে যান -> স্ক্রিপ্ট সম্পাদক ...; এটি একটি নতুন উইন্ডো খুলবে যা আপনাকে কোড প্রবেশের অনুমতি দেয়
- নীচের কোডটি অনুলিপি করুন
- স্ক্রিপ্ট সম্পাদক উইন্ডোতে কোডটি পেস্ট করুন এবং এটি সংরক্ষণ করতে CTRL+ টিপুনS
- স্ক্রিপ্ট সম্পাদক উইন্ডোগুলি বন্ধ করুন এবং স্প্রেডশীটে ফিরে যান
কোড:
function getBackgroundColor(rangeSpecification) {
var sheet = SpreadsheetApp.getActiveSheet();
var cell = sheet.getRange(rangeSpecification);
return cell.getBackground();
}
function sumWhereBackgroundColorIs(color, rangeSpecification) {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var range = sheet.getRange(rangeSpecification);
var x = 0;
for (var i = 1; i <= range.getNumRows(); i++) {
for (var j = 1; j <= range.getNumColumns(); j++) {
var cell = range.getCell(i, j);
if(cell.getBackground() == color)
x += parseFloat(cell.getValue());
}
}
return x;
}
function countCellsWithBackgroundColor(color, rangeSpecification) {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var range = sheet.getRange(rangeSpecification);
var x = 0;
for (var i = 1; i <= range.getNumRows(); i++) {
for (var j = 1; j <= range.getNumColumns(); j++) {
var cell = range.getCell(i, j);
if(cell.getBackground() == color)
x++;
}
}
return x;
}
উপরের পদক্ষেপগুলি অনুসরণ করার পরে, আপনার স্প্রেডশীটে আরও তিনটি ফাংশন রয়েছে:
countCellsWithBackgroundColor(<color>, <range specification>)
sumWhereBackgroundColorIs(<color>, <range specification>)
getBackgroundColor(<cell specification>)
দয়া করে মনে রাখবেন <range specification>এবং <cell specification>প্রকাশ করা হয় ক 1 স্বরলিপি, এবং উদ্ধৃতিচিহ্নের মধ্যে করা আবশ্যক ।
উদাহরণস্বরূপ, বি 2: F13 পরিসরের সমস্ত কক্ষের গণনা পেতে, যা পটভূমির রঙ সাদা সেট করা আছে , আপনার নিম্নলিখিত সূত্রটি প্রবেশ করানো উচিত:
=countCellsWithBackgroundColor("white", "B2:F13")
এবং একই কক্ষের যোগফল গণনা করতে সূত্রটি ব্যবহার করুন:
=sumWhereBackgroundColorIs("white", "B2:F13")
কিছু কক্ষের ব্যাকগ্রাউন্ড কোনও রঙ যেমন 'সাদা', 'ধূসর' রঙে সেট নাও থাকতে পারে তবে একটি আরজিবি রঙ পছন্দ করে #6fa8dc। রঙটি কী তা আপনি অনুমান করতে পারবেন না, তাই আপনি যদি কোনও ঘরের জন্য রঙটি জানতে চান (উদাহরণস্বরূপ, B9) আপনার এই সূত্রটি একটি ঘরে প্রবেশ করা উচিত:
=getBackgroundColor("B9")
এবং তারপরে উপরের দুটি ফাংশনের প্যারামিটার হিসাবে এই মানটি ব্যবহার করুন।
এটি প্রদর্শিত হয় যে কোনও ঘরের পটভূমির রঙ যদি "থিম রঙ" হয় তবে getBackground()ভুলভাবে সর্বদা ফিরে আসে #ffffff। স্ট্যান্ডার্ড সেট থেকে রঙ ব্যবহার করা ছাড়া আমি এর কাছাকাছি উপায় খুঁজে পাইনি।
আবার উপরের সমস্ত উদাহরণে উদ্ধৃতিগুলি নোট করুন; তাদের ছাড়া, সূত্রগুলি কাজ করবে না।