মানের উপর ভিত্তি করে পুনরাবৃত্তি সামগ্রী মুছতে এক্সেল 2010 সূত্র


3

আমার কাছে দুটি কলাম, একটি নাম এবং একটি মান সহ একটি স্প্রেডশিট রয়েছে। নামটি বিভিন্ন মান সহ বেশ কয়েকবার পুনরাবৃত্তি হয়, উদাহরণস্বরূপ:

নাম - 1
নাম - 2
নাম - 3

প্রভৃতি

আমি এমন একটি সূত্র খুঁজছি যা স্প্রেডশিটটির মধ্য দিয়ে যাবে এবং নাম কলামের সমস্ত নকল দৃষ্টান্ত মুছে ফেলবে এবং দ্বিতীয়টি সর্বোচ্চ মানের সাথে সংরক্ষণ করবে। সুতরাং আমি যদি উপরের মতো স্প্রেডশিটটি ইনপুট করি তবে এটি "নাম - 2" সারিটি সংরক্ষণ করবে এবং অন্যগুলি মুছবে। এটা কি সম্ভব?

সম্পাদনা: স্প্রেডশীটে 6000+ মান রয়েছে, তাই আমি এমন একটি সমাধান পছন্দ করবো যা যথাসম্ভব স্বয়ংক্রিয়ভাবে তৈরি। আমি এমন কিছু ভাবছিলাম:

  1. নাম অনুসারে মানগুলি সাজান, তারপরে মান।
  2. সূত্র যা সর্বনিম্ন মানগুলির সাথে সদৃশ সারিগুলি মুছে দেয়।
  3. সূত্র যা সমস্ত সারিগুলিকে মুছে ফেলে তবে সর্বনিম্ন মান।

একটি সূত্র ব্যবহার না করে, ফলাফলগুলি ফিল্টার করুন / বাছাই করুন এবং তারপরে ২ য় বৃহত্তম চয়ন করুন। আমি ধরে নিলাম একটি ম্যাট্রিক্স ম্যাক্স ফাংশন কাজ করতে পারে। উভয় ক্ষেত্রে আপনাকে নিজের হাতে মুছতে হবে।
ডক্টোরো রিচার্ড

আমি মান অনুসারে বাছাই করছি এবং তারপরে ম্যানুয়ালি নির্বাচন এবং মুছে ফেলছি, তবে এটি এমন একটি স্প্রেডশিট যা 6000+ মান রয়েছে যা 2000 এর মতো কিছুতে সঙ্কুচিত হওয়া দরকার, তাই এটি দীর্ঘ সময় নেয়।
এলিসা

LARGE আপনাকে একটি অ্যারের N-th বৃহত্তম উপাদান দিতে পারে। এগুলি ব্যতীত এমন কোনও কার্য নেই যা ঘরগুলি মুছে দেয়। সুতরাং, আপনার উত্তরের জন্য ভিবিএ স্ক্রিপ্টিং প্রয়োজন।
ডক্টোরো রিচার্ড

উত্তর:


4

একটি সহায়ক কলাম এবং একটি ফিল্টার দিয়ে আপনি যা চান তা পেতে পারেন।

পদক্ষেপ 1: সহায়ক কলাম

নিম্নলিখিত সূত্র সহ আপনার টেবিলটিতে একটি কলাম যুক্ত করুন, যেখানে নামগুলি রয়েছে A2:A18এবং মানগুলি রয়েছে B2:B18

=OR(COUNTIF($A$2:$A$18,A2)=1,SUMPRODUCT(1*(B2<$B$2:$B$18),1*(A2=$A$2:$A$18))=1)

এই সূত্রটি আপনি TRUEযে সারিগুলি রাখতে চান তার জন্য ফিরে আসবে , অর্থাত্ সদৃশ নামগুলির জন্য দ্বিতীয় সর্বোচ্চ মান এবং কোনও নন-অনুলিপি নাম (যেমন dআমার নীচের উদাহরণে)। যদি সুযোগক্রমে আপনি নন-সদৃশ সারি রাখতে চান না তবে আপনি পরিবর্তে নিম্নলিখিত সূত্রটি ব্যবহার করতে পারেন।

=SUMPRODUCT(1*(B2<$B$2:$B$18),1*(A2=$A$2:$A$18))=1

সহায়ক কলাম উদাহরণ

পদক্ষেপ 2: ফিল্টার

TRUEসহায়ক কলামে থাকা সারিগুলির জন্য কেবল পুরো টেবিলটি ফিল্টার করুন ।

ছাঁকনি

যদি ফিল্টারিং পর্যাপ্ত পরিমাণে না হয় এবং আপনার অন্য ডেটা মুছে ফেলার প্রয়োজন হয় তবে আপনি কেবল ফিল্টার করা ফলাফল অনুলিপি করে অন্য টেবিলে পেস্ট করতে পারেন এবং তারপরে মূল টেবিলটি মোছার পরে, আপনি আপনার পরিষ্কার কপিতে পেস্ট করতে পারেন।


খুব চালাক, তবে যখন কোনও নামের সর্বোচ্চ মানের জন্য একটি টাই থাকে তখন এটি ব্যর্থ হয়। হ্যাঁ, আমি জানি যে ওপি বলেছিল, "নামটি বিভিন্ন মানের সাথে কয়েকবার পুনরাবৃত্তি হয় ," (জোর যোগ করা), তবে আমি নিশ্চিত হয়েই এটিকে আক্ষরিকভাবে না নেওয়ার জন্য আগ্রহী। আইএমএইচও, সর্বোত্তম উত্তর সম্ভবত LARGEফাংশন জড়িত , কিন্তু আমি অবিলম্বে দেখতে পাচ্ছি না যে কীভাবে এটি একটি কার্যক্ষম সমাধানে তৈরি করা যায়। তবে আমি আপনার প্রতিক্রিয়াটি "ঠিক" করেছি।
স্কট

অসাধারণ! এটি নিখুঁতভাবে কাজ করেছে!
এলিসা

2

আমি সম্মত হই যে আপনার নাম এবং মান অনুসারে বাছাই করা উচিত; এবং আমি সম্মত হই যে এক্সসেলের একটি ভাল পদ্ধতির রয়েছে। তবে তার উত্তরটি ব্যর্থ হয় যদি আপনার ডেটাতে কোনও নামের জন্য সর্বোচ্চ মানের একটি টাই থাকে; আমি এখানে উত্তরটি মানিয়েছি (নির্মিত)

দুটি সহায়ক কলাম সংজ্ঞা দিন:

  • C2 - =(A2<>A3)
  • D2 - =IF(A1=A2, B1, B2)

কলামটি  Cএমন সারিগুলি সনাক্ত করে যা কোনও নামের সর্বশেষ ঘটনা এবং কলাম  Dদ্বিতীয় সর্বোচ্চ মান (বা কেবলমাত্র একমাত্র উপস্থিতি থাকলে একমাত্র মান) পায়। তারপর সারি যেখানে কলাম ফিল্টার  Cরয়েছে FALSE, এবং কলামে নাম পেয়ার  Aকলামে মান  D। মনে রাখবেন যে, নিম্নলিখিত উদাহরণে Excellll এর উত্তর হিসাবে একই ডেটা ব্যবহার করে, দুটোতে ব্যতীত b'র করা হয় উভয় 17. আমি শর্তসাপেক্ষ বিন্যাসন ব্যবহার করেছেন হাইলাইট করতে Aএবং  Dডেটা যেখানে Cহয় TRUE

                               


এবং যদি সর্বোচ্চ মানের জন্য টানা 3 সারি বেঁধে রাখা হয় ...? পরিবর্তে টাইব্রেকার হিসাবে গ্যারান্টিযুক্ত অনন্য কিছু ব্যবহার করার পরামর্শ দিচ্ছি ROW()
এক্সেল

@ এক্সসেল: সর্বোচ্চ মানের জন্য যদি পর পর তিনটি সারি বেঁধে দেওয়া হয় ... তবে আমার উত্তরটি এখনও কার্যকর হয়। তোমার লক্ষ্যটা কি?
স্কট

দুঃখিত, আমি শেষ ধাপটি পুরোপুরি পড়ে নি। আমি ভেবেছিলাম আপনি অন্য একটি শর্তে ফিল্টার করছেন। সমস্যার জন্য +1
এক্সেল

0

এটির আর একটি বিকল্প হতে পারে, এই বিকল্পের সাথে অনন্য নামের মান সহ একটি তালিকা তৈরি করুন এবং তারপরে LARGEঅ্যারে সূত্র হিসাবে সূত্রটি ব্যবহার করুন : এরকম কিছু something

=LARGE(IF($A$2:$A$20=D2;$B$2:$B$20);2)

..IF($A$2:$A$20=D2;$B$2:$B$20)...

If match condition, then give me the values. In my examples it could be 
something like {1,2,...,6,FALSE,...FALSE} and the formula omits FALSE 
values.

=LARGE(..., ??) [??] Rank Value you want in this case 2

অ্যারে সূত্র হিসাবে রূপান্তর করতে, এটি লেখার পরে, F2সম্পাদনা করতে ক্লিক করুন এবং Ctrl+Shift+Enterসূত্রটি আপনি এর মতো কিছু পাবেন:{=LARGE(...)}

চাদর মত হতে পারে এই

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.