আমি এখনও অবধি সবচেয়ে ভাল কাজের সন্ধান পেয়েছি:
worksheet_name!$A$1:$YY
তবে আদর্শভাবে আমি কেবল লিখতে সক্ষম হতে চাই, যেমন:
worksheet_name!
সুতরাং, কেউ কি জানেন: একটি সম্পূর্ণ শিটটি ব্যাপ্তি হিসাবে নির্দিষ্ট করার জন্য একটি বাক্য গঠন আছে?
আমি এখনও অবধি সবচেয়ে ভাল কাজের সন্ধান পেয়েছি:
worksheet_name!$A$1:$YY
তবে আদর্শভাবে আমি কেবল লিখতে সক্ষম হতে চাই, যেমন:
worksheet_name!
সুতরাং, কেউ কি জানেন: একটি সম্পূর্ণ শিটটি ব্যাপ্তি হিসাবে নির্দিষ্ট করার জন্য একটি বাক্য গঠন আছে?
উত্তর:
আপনার জন্য কাজটি করার জন্য আমি একটি ছোট গুগল অ্যাপস স্ক্রিপ্ট (জিএএস) স্নিপেট তৈরি করেছি।
function sheetRange(targetName,int) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var asName = ss.getActiveSheet().getSheetName();
var tgSheet = ss.getSheetByName(targetName);
var output;
if(targetName == asName) {
output = "Error: target sheet is active sheet !!";
} else {
switch(int) {
case 1:
output = tgSheet.getDataRange().getValues();
break;
case 2:
output = tgSheet.getSheetValues(1, 1, tgSheet.getMaxRows(),
tgSheet.getMaxColumns());
break;
default:
output = "Choose int to be 1 or 2 !!";
}
}
return output;
}
স্প্রেডশিট মেনুতে, সরঞ্জামগুলি> স্ক্রিপ্ট সম্পাদক নির্বাচন করুন এবং কোড যুক্ত করুন। বাগ বাটনটি টিপতে ভুলবেন না:
=sheetRange("sheetName",int)
int
মন্তব্যের আওতায় বর্ণিত বিকল্পটি ব্যবহার করুন ।
আমি আপনাকে একটি ফাইল ফাইল তৈরি করেছি: রেঞ্জ হিসাবে শীট
এক্ষেত্রে জিএএসের মাধ্যমে স্প্রেডশিটে কোনও ব্যাপ্তি নির্ধারণের জন্য দুটি উপায় রয়েছে:
int=1
; getDataRange
পদ্ধতি মাধ্যমে । এটি একটি পরিসীমা পুনরুদ্ধার করবে, যেখানে সর্বশেষ কলামটি এতে ডেটা রয়েছে। সারি সংখ্যার জন্য একই অ্যাকাউন্ট। এটি সাধারণত সবচেয়ে সরল রুট। উদাহরণস্বরূপ ফাইলের দ্বিতীয় পত্রকটি দেখুন।int=2
; getSheetValues
পদ্ধতি মাধ্যমে । এটি একটি "WYSIWYG" ব্যাপ্তি পুনরুদ্ধার করবে। উদাহরণস্বরূপ ফাইলের তৃতীয় পত্রকটি দেখুন।গুগল শিটগুলিতে পুরো শিটের ব্যাপ্তির জন্য সীমার বিন্যাস নেই।
নিম্নলিখিত সূত্রটি শীট 1 নামের পুরো শীটের রেঞ্জের ঠিকানা ফেরত দেবে
="Sheet1!"&ADDRESS(1,1,,TRUE)&":"&ADDRESS(ROWS(Sheet1!A:A),COLUMNS(Sheet1!1:1),,TRUE)
এটিকে রেফারেন্স হিসাবে ব্যবহার করতে, এটি INDIRECT এর ভিতরে রাখুন। নিম্নলিখিত সূত্রটি শীট 1-এ সমস্ত মানের একটি অ্যারে প্রদান করবে।
= ARRAYFORMULA ( পরোক্ষ ( "পত্রক 1!" & ADDRESS এর (1,1, সত্য) & ":" & ADDRESS এর (ROWS টি (পত্রক 1 উত্তর:! একটি), COLUMNS বাই (পত্রক 1 1: 1) ,, সত্য) , 'সত্য' ) )
আমি নির্দিষ্ট কোনওটি জানি না, তবে আমি মনে করি আপনি যদি সারি / কলামগুলির সংখ্যা না জানেন তবে আপনি কয়েকটি সূত্র ব্যবহার করতে পারেন:
indirect("Sheet!1:"&countif(Sheet!A:A,"<>@")+countif(Sheet!A:A,"=@"))
এখানে, Sheet
আপনার শীটের নাম এবং @
এটি একটি স্বেচ্ছাসেবী স্ট্রিং। আপনি যে শীটটি নির্বাচন করছেন সেটি @
যদি একটি কক্ষে থাকে তবে এটি কাজ করবে না। যদি শীটে এমন কোনও ঘর থাকে তবে আপনি এটিকে অন্য একটি চরিত্র দ্বারা প্রতিস্থাপন করতে পারেন।
COUNITF
এখানে কলাম A মধ্যে সারির সংখ্যা, মোট ছাত্র: একটি ধারণকারী না @
, যা সব যদি কোন এটি ধারণকারী কোষ হয় হওয়া উচিত, এবং INDIRECT
বদলে দেয় Sheet!1:###
(যেখানে ###
প্রকৃত নির্বাচিত পরিসীমা মধ্যে সারি সংখ্যা)।
যারা অ্যাপসক্রিপ্টের মধ্যে কাজ করছেন তাদের জন্য ইতিমধ্যে সর্বোত্তম জবাব দেওয়া হয়েছে, তবে গুগল শীটগুলির মধ্যে যদি কেউ সঠিকভাবে কাজ করছেন, তবে আপনার প্রয়োজন অনুসারে এটি এমন একটি পদ্ধতির রয়েছে:
"worksheet_name!1:" & ROWS(worksheet_name!A:A)
ব্যাখ্যা : * আপনি মূলত ওয়ার্কশিট_নামে সারি সংখ্যার সাথে মিলিত একটি স্ট্রিংয়ের মাধ্যমে পরিসীমাটি নির্দিষ্ট করছেন !
এই পদ্ধতির কিছু সুবিধা : * এটি 'গতিশীল' ... আপনি যদি নীচে সারি যুক্ত করেন তবে পরিসরটি সেই অনুযায়ী সামঞ্জস্য করবে * লাইটওয়েট - আপনি এটিকে একটি আমদানি / কোয়েরি ফাংশনে চড় মারতে পারেন
অসুবিধাগুলি : * সব ক্ষেত্রে এটি চেষ্টা করা হয়নি তাই কেবল নির্দিষ্ট ব্যবহারের ক্ষেত্রে কাজ করতে পারে * ব্যক্তিগতভাবে জিনিসগুলিকে গতিময় / পরিষ্কার করার জন্য আমার ব্যক্তিগতভাবে অগ্রাধিকার রয়েছে যাতে প্রকারের কাস্টম ফাংশনটি অ্যাপস্ক্রিপ্ট এবং এই লাইটওয়েট পদ্ধতির মধ্যে একটি মাঝারি জায়গা হতে পারে
এটি আমার পক্ষে কাজ করে:
var ss = SpreadsheetApp.getActive();
var sh = ss.getSheets()[0];
var rg = sh.getName() +"!"+ sh.getDataRange().getA1Notation();
একটি আবদ্ধ স্ক্রিপ্টে ব্যবহৃত, শীটটির নামটি একটি ""! এবং তারপরে নির্বাচিত শীটে ডেটা রেঞ্জের A1 স্বরলিপি পান
আমি বিবরণের চিহ্ন ছাড়াই পরিসীমাটিকে শীট হিসাবে নামকরণ করে পুরো শীটটি নির্বাচন করতে সক্ষম হয়েছি।
আমার কাছে ডেটা নামের একটি ট্যাব ছিল। পরিবর্তে তথ্য ব্যবহার! বা ডেটা! এ 1: জেডজেড।
পুরো শিটটি ব্যাপ্তি হিসাবে নির্দিষ্ট করতে, দয়া করে ব্যবহার করুন:
worksheet_name!A1:ZZ
আপনি এটি এখানে চেষ্টা করতে পারেন: https://developers.google.com/sheets/api/references/rest/v4/spreadsheets.values/clear
বা আপনি যদি জাভা ব্যবহার করেন (শীট 1-এ সমস্ত কিছু সাফ করার জন্য):
Sheets service = getSheetsService(credential);
service.spreadsheets().values().clear(REPORT_WARNINGS_LATAM_FILEID, "Sheet1!A1:ZZ", new ClearValuesRequest()).execute();
বা যদি আপনি এটি অন্য কোনও শীটের একটি সূত্রে (উদাহরণস্বরূপ: এসইএম) ব্যবহার করতে চান তবে (উদাহরণস্বরূপ: শিট 2) আপনি নিম্নলিখিত রেফারেন্সটি ব্যবহার করতে পারেন:
=SUM(Sheet1!A1:ZZ)
^ এটি শীট 1 এ সমস্ত বিদ্যমান কক্ষগুলি যোগ করবে এবং শিট 2 এ একটি ঘরে একটি মান স্থাপন করবে, আপনি উদাহরণটি এখানে পাবেন: https://docs.google.com/spreadsheets/d/1rP3YCl3ErlYjlYGT_Q-xFvkVr7yKw6WQfHklbohL1NM/edit?sp=sing । এই উদাহরণে শীট 1 এ আমাদের 3 টি কলাম এবং 5 টি সারি রয়েছে, সুতরাং এই সূত্রটি = এসইউএম (শিট 1! এ 1: জেডজেড) সমস্তটি নির্বাচন করে। আপনি শীট 1 এ সারি বা কলাম যুক্ত করতে পারেন এবং এই সমাধানটি এখনও সমস্ত ঘর নির্বাচন করবে।
পিএস: আপনি যদি আমার উত্তরটি ভোট দেন - দয়া করে কেন তা ব্যাখ্যা করুন।
সারিগুলির সংখ্যা জানেন তা ধরে নিয়ে আপনি পুরো শীটটির নাম "ওয়ার্কশিট_নাম" রাখতে পারেন:
ধাপ:
এখন যতবার আপনি কোনও ফাংশনে "ওয়ার্কশিট_নাম" ব্যবহার করবেন, এটি সম্পূর্ণ কার্যপত্রকটি উল্লেখ করবে।