একই কলামে মান সদৃশ হলে আমি গুগল স্প্রেডশিট হাইলাইট সেলটির সূত্র খুঁজছি
কেউ কি এই প্রশ্নের জন্য আমাকে সহায়তা করতে পারেন?
একই কলামে মান সদৃশ হলে আমি গুগল স্প্রেডশিট হাইলাইট সেলটির সূত্র খুঁজছি
কেউ কি এই প্রশ্নের জন্য আমাকে সহায়তা করতে পারেন?
উত্তর:
এটা চেষ্টা কর:
Custom formula is
=countif(A:A,A1)>1
(বা A
আপনার নির্বাচিত কলামে পরিবর্তন করুন )A1:A100
) ব্যাপ্তি প্রযোজ্য তা নিশ্চিত করুন ।A1 তে যা কিছু লেখা আছে: A100 ঘরগুলি পরীক্ষা করা হবে এবং যদি কোনও সদৃশ থাকে (একাধিকবার ঘটে) তবে তা রঙিন হবে।
,
দশমিক বিভাজক হিসাবে কমা ( ) ব্যবহার করে লোকালগুলির জন্য , যুক্তি বিভাজকটি সম্ভবতঃ একটি আধা-কোলন ( ;
)। =countif(A:A;A1)>1
পরিবর্তে , চেষ্টা করুন:
একাধিক কলামের জন্য, ব্যবহার করুন countifs
।
;
ফলাফলটি আমার জন্য একটি "অবৈধ সূত্র" ত্রুটির মধ্যে রয়েছে। স্রেফ এটি অপসারণ কৌশলটি করেছে। এছাড়াও সতর্কতা অবলম্বন করুন: আপনি যে কক্ষটি দ্বিতীয় তর্ক হিসাবে চিহ্নিত করেছেন countif
তা আপনার নির্বাচিত পরিসরের প্রথম ঘর হওয়া উচিত।
=countif(B:B,B2)>1
। এটি পরম বনাম আপেক্ষিক সেল রেফারেন্স ব্যবহার করার সময় কাউকে কিছু বেশ উন্নত ফর্ম্যাট করতে দেয়।
যদিও জোলির উত্তরটি প্রশ্নের সঠিকভাবে সঠিক, এখানে যে কোনও ব্যাপ্তির আরও সাধারণ সমাধান, আরও ব্যাখ্যা:
=COUNTIF($A$1:$C$50, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))) > 1
দয়া করে নোট করুন যে এই উদাহরণে আমি ব্যাপ্তিটি ব্যবহার করব A1:C50
। প্রথম প্যারামিটারটি ( $A$1:$C$50
) আপনি যে ডুপ্লিকেট হাইলাইট করতে চান সেই ব্যাপ্তির সাথে প্রতিস্থাপন করা উচিত!
সদৃশ হাইলাইট করতে:
Format
>Conditional formatting...
Apply to range
, বিধিটি প্রয়োগ করতে হবে এমন ব্যাপ্তিটি নির্বাচন করুন।Format cells if
, Custom formula is
ড্রপডাউন নির্বাচন করুন।কেন এটি কাজ করে?
COUNTIF(range, criterion)
, প্রতিটি সেল তুলনা করবে range
করার criterion
, যা সূত্র একইভাবে প্রক্রিয়াভুক্ত করা। যদি কোনও বিশেষ অপারেটর সরবরাহ না করা হয়, তবে এটি প্রদত্ত ঘরের সাথে পরিসরের প্রতিটি কক্ষের তুলনা করবে এবং নিয়মের সাথে মেলে এমন কক্ষগুলির সংখ্যা ফিরে পাবে (এই ক্ষেত্রে, তুলনা)। আমরা একটি স্থির পরিসীমা ( $
চিহ্ন সহ) ব্যবহার করি যাতে আমরা সর্বদা সম্পূর্ণ পরিসীমাটি দেখি।
দ্বিতীয় ব্লক, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))
বর্তমান কক্ষের সামগ্রী ফিরে আসবে। এটি যদি কক্ষের ভিতরে স্থাপন করা হয় তবে ডকস বিজ্ঞপ্তি নির্ভরতা সম্পর্কে চিৎকার করবে, তবে এই ক্ষেত্রে সূত্রটি কোনও পরিবর্তন না করে কোষের মতোই মূল্যায়ন করা হবে।
ROW()
এবং প্রদত্ত ঘরের COLUMN()
সারি সংখ্যা এবং কলাম নম্বর যথাক্রমে প্রদান করবে। যদি কোনও প্যারামিটার সরবরাহ না করা হয় তবে বর্তমান ঘরটি ফিরে আসবে (এটি 1-ভিত্তিক, উদাহরণস্বরূপ, B3
3 এর জন্য ROW()
এবং 2 এর জন্য ফিরে আসবে COLUMN()
)।
তারপরে আমরা ব্যবহার করি: ADDRESS(row, column, [absolute_relative_mode])
একটি সারি রেফারেন্সে সংখ্যাসূচক সারি এবং কলামটি অনুবাদ করতে (যেমন B3
মনে রাখবেন, আমরা যখন সেলটির প্রসঙ্গে থাকি তখন আমরা এটির ঠিকানা বা বিষয়বস্তু জানি না এবং এর সাথে তুলনা করার জন্য আমাদের সামগ্রীর প্রয়োজন হয়)। তৃতীয় প্যারামিটারটি ফর্ম্যাট করার জন্য যত্ন নেয় এবং 4
ফর্ম্যাটিংয়ের INDIRECT()
পছন্দগুলি ফিরিয়ে দেয় ।
INDIRECT()
, একটি সেল রেফারেন্স নেবে এবং এর সামগ্রীটি ফিরিয়ে দেবে। এই ক্ষেত্রে, বর্তমান সেলটির সামগ্রী content তারপরে শুরুতে ফিরে আসার পরে, COUNTIF()
প্রতিটি কক্ষ আমাদের বিরুদ্ধে পরিসীমাটিতে পরীক্ষা করবে এবং গণনা ফিরিয়ে দেবে।
শেষ ধাপে আমাদের সূত্র একটি বুলিয়ান আসতে করছে, এটি একটি যুক্তিসঙ্গত অভিব্যক্তি করে: COUNTIF(...) > 1
। > 1
ব্যবহার করা হয়, কারণ আমরা আছে অন্তত একটি সেল আমাদিগের অভিন্ন জানি। এটি আমাদের ঘর, যা পরিসীমাতে রয়েছে, এবং এটি নিজের সাথে তুলনা করা হবে। সুতরাং একটি অনুলিপি নির্দেশ করতে, আমাদের 2 বা ততোধিক কোষের সাথে আমাদের সন্ধান করতে হবে।
সূত্র:
*
) এবং অন্য একটি চেক তৈরি করা, সুতরাং এর লাইন ধরে ((COUNTIF(...))*(NOT(ISBLANK(INDIRECT(...current cell...)))))
। এটি আমি মোবাইলে সেরা করতে পারি। :)
$A$1:$C$50
হ'ল সেই অনুসারে প্রশ্নের অধীনে থাকা কলামগুলিতে। আমি জোলির চেয়ে এই জেনেরিক পদ্ধতির চেয়ে বেশি পছন্দ করি।
@ জোলির উত্তর সঠিক। কেবল একটি জিআইফ যোগ করুন এবং রেফারেন্সের জন্য পদক্ষেপগুলি।
Format > Conditional formatting..
Format cells if..
=countif(A:A,A1)>1
ক্ষেত্র যোগ করুনCustom formula is
A
আপনার নিজের কলাম দিয়ে চিঠিটি পরিবর্তন করুন ।"পাঠ্য ধারণ করে" ড্রপডাউন মেনু থেকে "কাস্টম সূত্রটি হ'ল:" নির্বাচন করুন এবং লিখুন: "= কাউন্টিফ (এ: এ, এ 1)> 1" (উদ্ধৃতি ব্যতীত)
আমি জোলির প্রস্তাবিত হিসাবে ঠিক ঠিক করেছি , তবে ছোট সংশোধন করা উচিত: "পাঠ্য ধারণাগুলি " পরিবর্তে "কাস্টম সূত্রটি" ব্যবহার করুন । এবং তারপরে শর্তযুক্ত রেন্ডারিং কাজ করবে।
Text Contains
তাই কোনও ব্যবহারকারী সাধারণত ড্রপডাউন মেনুতে অ্যাক্সেস করতে ক্লিক করতে পারেন।
=COUNTIF(C:C, C1) > 1
ব্যাখ্যা: C1
এখানে সি এর প্রথম সারির কথা উল্লেখ করা হয়নি কারণ সূত্রটি শর্তসাপেক্ষ বিন্যাস নিয়মের দ্বারা মূল্যায়ন করা হয়, পরিবর্তে সূত্রটি প্রয়োগ হয় কিনা তা পরীক্ষা করে দেখা C1
হয়, বর্তমানে যে সারিটি বর্তমানে মূল্যায়ন করা হচ্ছে তা কার্যকরভাবে উল্লেখ করে হাইলাইট প্রয়োগ করা উচিত কিনা দেখুন। ( সুতরাং এটি এর মতো INDIRECT(C &ROW())
, যদি এটি আপনার কাছে কিছু বোঝায়! )। মূলত, শর্তসাপেক্ষ বিন্যাসের সূত্রটি মূল্যায়ন করার সময়, যে সারির সূত্রের বিপরীতে চালানো হচ্ছে সেই সারিটির বিপরীতে যে কোনও কিছুই সারি 1 উল্লেখ করে evalu ( এবং হ্যাঁ, আপনি যদি সি 2 ব্যবহার করেন তবে আপনি বর্তমানে যা মূল্যায়ন করছেন তার নীচে সারিটির স্থিতি পরীক্ষা করতে নিয়মটি জিজ্ঞাসা করছেন ))
সুতরাং এটি বলে, C1
পুরো কলামে যা আছে তার (বর্তমান সেলটি মূল্যায়ন করা হচ্ছে) যা আছে তার উপস্থিতিগুলি গণনা করুন C
এবং যদি এর মধ্যে 1 টির বেশি থাকে (যেমন মানটির সদৃশ থাকে) তবে: হাইলাইট প্রয়োগ করুন ( কারণ সূত্রটি , সামগ্রিকভাবে মূল্যায়নTRUE
))
=AND(COUNTIF(C:C, C1) > 1, COUNTIF(C$1:C1, C1) = 1)
ব্যাখ্যা: এটি কেবল তখনই হাইলাইট করে যদি উভয় COUNTIF
গুলি হয় TRUE
(সেগুলি একটিতে প্রদর্শিত হয় AND()
)।
মূল্যায়ন করা প্রথম পদটি (দ্য COUNTIF(C:C, C1) > 1
) প্রথম উদাহরণের মতো ঠিক একই; এটি TRUE
কেবল তখনই আছে যা যা আছে C1
তার একটি সদৃশ থাকে। ( মনে রাখবেন যে C1
বর্তমান সারিটি হাইলাইট করা উচিত কিনা তা পরীক্ষা করে দেখতে কার্যকরভাবে বোঝানো হয়েছে )।
দ্বিতীয় শব্দটি ( COUNTIF(C$1:C1, C1) = 1
) দেখতে একই রকম তবে এর মধ্যে তিনটি গুরুত্বপূর্ণ পার্থক্য রয়েছে:
এটি পুরো কলামটি অনুসন্ধান করে না C
(যেমন প্রথমটি C:C
এটি করেছে:) তবে পরিবর্তে এটি প্রথম সারি থেকে অনুসন্ধান শুরু করে: C$1
( যেটিকে সারিতে মূল্যায়ন করা হচ্ছে না, $
সারিতে আক্ষরিকভাবে দেখাতে বাধ্য 1
করে)।
এবং তারপরে এটি মূল্যায়ন করা বর্তমান সারিতে অনুসন্ধান বন্ধ করে দেয় C1
।
শেষ পর্যন্ত এটি বলে = 1
।
সুতরাং, এটি কেবল তখনই হবে TRUE
যখন সারিটির উপরে কোনও ডুপ্লিকেট বর্তমানে মূল্যায়ন করা হচ্ছে না (যার অর্থ এটি অবশ্যই অনুলিপিগুলির মধ্যে প্রথম হওয়া উচিত)।
প্রথম পদটির সাথে TRUE
একত্রিত (যা কেবলমাত্র এই সারিটির সদৃশ হলেই হবে ) এর অর্থ কেবল প্রথম ঘটনাটি হাইলাইট করা হবে।
=AND(COUNTIF(C:C, C1) > 1, NOT(COUNTIF(C$1:C1, C1) = 1), COUNTIF(C1:C, C1) >= 1)
ব্যাখ্যা: প্রথম প্রকাশটি সর্বদা হিসাবে একই ( TRUE
যদি বর্তমানে মূল্যায়ন করা সারিটি একেবারেই সদৃশ হয়)।
দ্বিতীয় শব্দটি অবহেলা ব্যতীত শেষের মতো ঠিক একই রকম: এর NOT()
চারপাশে এটি রয়েছে। সুতরাং এটি প্রথম ঘটনাটিকে উপেক্ষা করে।
অবশেষে তৃতীয় শব্দটি 2, 3 ইত্যাদি সদৃশগুলি COUNTIF(C1:C, C1) >= 1
সন্ধান করে বর্তমান মূল্যায়িত সারিতে অনুসন্ধানের পরিসীমা শুরু করে (এর C1
মধ্যে C1:C
)। তারপর এটি শুধুমাত্র মূল্যায়ণ TRUE
(হাইলাইট প্রযোজ্য) আছে যদি এই এক (এবং এই এক সহ) নিচের এক বা একাধিক প্রতিলিপি: >= 1
(এটা হতে হবে >=
না শুধু >
অন্যথায় গত ডুপ্লিকেট উপেক্ষা করা হয়)।
আমি সমস্ত অপশন চেষ্টা করেছিলাম এবং কেউই কাজ করেনি।
কেবল গুগল অ্যাপ স্ক্রিপ্টই আমাকে সহায়তা করেছিল।
উত্স: https://ctrlq.org/code/19649-find-duplicate-rows-in-google-sheets
আপনার নথির শীর্ষে
1.- সরঞ্জামগুলিতে যান > স্ক্রিপ্ট সম্পাদক
২- আপনার স্ক্রিপ্টের নাম সেট করুন
3.- এই কোডটি পেস্ট করুন:
function findDuplicates() {
// List the columns you want to check by number (A = 1)
var CHECK_COLUMNS = [1];
// Get the active sheet and info about it
var sourceSheet = SpreadsheetApp.getActiveSheet();
var numRows = sourceSheet.getLastRow();
var numCols = sourceSheet.getLastColumn();
// Create the temporary working sheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var newSheet = ss.insertSheet("FindDupes");
// Copy the desired rows to the FindDupes sheet
for (var i = 0; i < CHECK_COLUMNS.length; i++) {
var sourceRange = sourceSheet.getRange(1,CHECK_COLUMNS[i],numRows);
var nextCol = newSheet.getLastColumn() + 1;
sourceRange.copyTo(newSheet.getRange(1,nextCol,numRows));
}
// Find duplicates in the FindDupes sheet and color them in the main sheet
var dupes = false;
var data = newSheet.getDataRange().getValues();
for (i = 1; i < data.length - 1; i++) {
for (j = i+1; j < data.length; j++) {
if (data[i].join() == data[j].join()) {
dupes = true;
sourceSheet.getRange(i+1,1,1,numCols).setBackground("red");
sourceSheet.getRange(j+1,1,1,numCols).setBackground("red");
}
}
}
// Remove the FindDupes temporary sheet
ss.deleteSheet(newSheet);
// Alert the user with the results
if (dupes) {
Browser.msgBox("Possible duplicate(s) found and colored red.");
} else {
Browser.msgBox("No duplicates found.");
}
};
4.- সংরক্ষণ করুন এবং চালান
3 সেকেন্ডেরও কম সময়ে, আমার সদৃশ সারিটি রঙিন হয়ে গেছে। কেবল স্ক্রিপ্টটি অনুলিপি করুন।
যদি আপনি গুগল অ্যাপস স্ক্রিপ্টগুলি সম্পর্কে না জানেন তবে এই লিঙ্কগুলি আপনাকে সহায়তা করতে পারে:
https://zapier.com/learn/google-sheets/google-apps-script-tutorial/
https://developers.google.com/apps-script/overview
আশা করি এটা কাজে লাগবে.
=COUNTIFS(A:A; A1; B:B; B1)>1