আমি এক্সেলের বর্ণমালা থেকে এলোমেলো দৈর্ঘ্যের সাথে একটি এলোমেলো স্ট্রিং তৈরি করতে চাই। উদাহরণস্বরূপ, "jlskdjf", "kjlk", "kljsodif" ইত্যাদি etc. আমি কীভাবে এটি করতে পারি?
আমি এক্সেলের বর্ণমালা থেকে এলোমেলো দৈর্ঘ্যের সাথে একটি এলোমেলো স্ট্রিং তৈরি করতে চাই। উদাহরণস্বরূপ, "jlskdjf", "kjlk", "kljsodif" ইত্যাদি etc. আমি কীভাবে এটি করতে পারি?
উত্তর:
ধরে নিন আপনি ছোট হাতের অক্ষর (এজে) থেকে একটি এলোমেলো দৈর্ঘ্য (1-8 অক্ষর) স্ট্রিং তৈরি করতে চান।
=LEFT( CHAR(RAND()*26+97) & CHAR(RAND()*26+97) &
CHAR(RAND()*26+97) & CHAR(RAND()*26+97) &
CHAR(RAND()*26+97) & CHAR(RAND()*26+97) &
CHAR(RAND()*26+97) & CHAR(RAND()*26+97),
RAND()*8+1)
প্রতিটিতে CHAR(...)
1 টি এলোমেলো ছোট ছোট বর্ণমালা বর্ণিত হয়।
লোয়ার কেসের পরিবর্তে আপার কেস বর্ণমালা (এজেড) ব্যবহার করতে, আপনি এটির CHAR(RAND()*26+97)
সাথে প্রতিস্থাপন করতে পারেন CHAR(RAND()*26+65)
। কারণ এজেডের এএসসিআইআই কোড 65-90, এবং এএসসিআইআই এর এজেডের কোডটি 97-122 হয়।
কেবল সূত্র করার জন্য, আপনি ব্যবহার করতে পারেন RANDBETWEEN()
এর বিশ্লেষণ Toolpak প্রতিস্থাপন করতে RAND()*xx+yy
।
ধরে নিন আপনি নির্দিষ্ট অক্ষর থেকে একটি এলোমেলো দৈর্ঘ্য (1-8 অক্ষর) স্ট্রিং উত্পন্ন করতে চান।
আপনি সেল এ 1 এ পছন্দসই অক্ষরগুলি ইনপুট করতে পারেন , উদাহরণস্বরূপ:
abcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()
তারপর,
=LEFT( MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1) &
MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1) &
MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1) &
MID($A$1,RAND()*LEN($A$1)+1,1) & MID($A$1,RAND()*LEN($A$1)+1,1),
RAND()*8+1)
প্রতিটি এ MID(...)
1 থেকে 1 টি এলোমেলো চরিত্র পান।
হুম। এটি করার জন্য কোনও ফাংশন তৈরি করা ভিবিএর সাহায্যে খুব সহজ হবে। সূত্রগুলির সাথে এটি আরও কিছুটা জড়িত।
=CHAR(RANDBETWEEN(97,122))
স্পষ্টতই আপনাকে একটি চিঠি দেয় সুতরাং তাদের দশটি কলাম এ রাখুন A.=A1
সেল বি 1 এ রাখুন।=B1&A2
বি 2 রাখুন এবং বি 2: বি 10 পূরণ করুন। (সংক্ষেপে বিরক্তিজনকভাবে ব্যাপ্তিগুলি গ্রহণ করে না))=OFFSET(B1,RANDBETWEEN(0,9),0)
।অ্যারে সূত্র বা অন্য কিছু সহ একটি সহজ উপায় হতে পারে।
একটি একক চরিত্রের সূত্র হিসাবে আপনি এটি ব্যবহার করতে পারেন
=CHAR(RANDBETWEEN(97,122))
আপনার পছন্দসই র্যান্ডের ব্যাপ্তিটি নির্বাচন করতে কেবল যে কোনও এসিএসআইআই-টেবিলটি দেখুন।
তবে এলোমেলো দৈর্ঘ্যটি জটিল, এলোমেলো দৈর্ঘ্যের কারণে নয়, তবে আপনি এলোমেলো অক্ষরগুলির কারণে যা আপনি একসাথে রাখতে চান। অন্যথায়, আপনি কেবল REPT ফাংশনটি RAND ফাংশন এবং উপরের সূত্রের সাথে যোগ দিতে পারেন।
তবে আপনার বর্ণিত ফলাফলের সাথে মানিয়ে নিতে আমি এই কোডটি ব্যবহার করব:
'Put this into a VBA-Module, to be accessable as a worksheet function
Public Function RandomString() As String
Dim i As Long
Dim lngEnd As Long
Dim strResult As String
With Application.WorksheetFunction
lngEnd = .RandBetween(1, 20) 'String length 1-20 characters
strResult = ""
'create a random string of a random length between 1 and 20
For i = 1 To lngEnd
strResult = strResult & Chr(.RandBetween(97, 122))
Next i
End With
Debug.Print strResult
RandomString = strResult 'return the random string
End Function
যদি সূত্রগুলি সহ এই কোডটি করার কোনও সমাধান হয়, অতএব ভিবিএ ছাড়াই, আমি এটি সম্পর্কে জানতে খুব চাই :)
=LEFT(CHAR(RANDBETWEEN(97,122))&CHAR(RANDBETWEEN(97,122))&... repeat as many times as needed, RANDBETWEEN(minimum length, maximum length))
এই সূত্রটিতে "abc ... ABC ... 012" সহ কোনও কক্ষের প্রয়োজন নেই
[A-zA-Z0-9] এর থেকে এলোমেলোভাবে 1 চর।
=CHAR(CHOOSE(RANDBETWEEN(1,3),RANDBETWEEN(48,57),RANDBETWEEN(65,90),RANDBETWEEN(97,122)))
যদি আরও চরগুলির প্রয়োজন হয় তবে CHAR (...) অনুলিপি করুন এবং এটিকে & এর সাথে পৃথক করুন।
এই সমাধান Oaktree থেকে http://www.mrexcel.com/forum/excel-questions/332116-generate-random-alphanumeric-code.html
(আপনি যদি কেবলমাত্র অক্ষরের স্ট্রিংগুলি চান তবে নীচের সংযুক্ত অনুচ্ছেদটি দেখুন)
8 থেকে 12 এর মধ্যে বড় হাতের অক্ষর এবং এলোমেলো দৈর্ঘ্যের অঙ্কগুলির একটি এলোমেলো স্ট্রিং উত্পন্ন করুন:
=MID(BASE(RAND()*10^18,36,12),1,RAND()*4+8)
ব্যাখ্যা:
BASE(RAND()*10^18,36,12)
। কৌতুকটি একটি বড় এলোমেলো সংখ্যা উত্পন্ন করছে এবং তারপরে এটিকে রূপান্তরিত করে বেস 36 এ কার্যকরভাবে স্ট্রিংয়ের মতো দেখতে এমন কিছু অর্জন করবে।RAND()*4+8
সূত্রে ব্যবহৃত কার্য (ভিতরে বাইরে):
RAND()
0 এবং 1 এর মধ্যে একটি এলোমেলো সংখ্যা প্রদান করে।BASE(Number; Radix; [MinimumLength])
একটি ধনাত্মক পূর্ণসংখ্যাকে একটি নির্দিষ্ট বেসকে সংখ্যায়ন সিস্টেম থেকে পাঠ্যে রূপান্তর করে। অঙ্কগুলি 0-9 এবং অক্ষর AZ ব্যবহার করা হয়।MID("Text"; Start; Number)
একটি পাঠ্যের একটি পাঠ্য স্ট্রিং প্রদান করে। পরামিতিগুলি শুরুর অবস্থান এবং অক্ষরের সংখ্যা উল্লেখ করে।নম্বরটি 10^18
একটি ম্যাজিক নম্বর যার জন্য উত্পন্ন স্ট্রিংটির পিছনে বা নেতৃস্থানীয় জিরো নেই। আপনার যদি দীর্ঘতর স্ট্রিং তৈরি করতে হয় তবে আমি এই জাতীয় দুটি বা ততোধিক স্ট্রিং তৈরি করতে এবং সেগুলিকে সম্মতি দেওয়ার পরামর্শ দিচ্ছি।
প্লাজ নোট: এই সমাধানটি লিবারঅফিস ক্যালক 5 তে পরীক্ষা করা হয়েছিল, তবে এটি মাইক্রোসফ্ট এক্সেলেও কাজ করা উচিত যেহেতু ফাংশনগুলি তাদের ডকুমেন্টেশন অনুসারে একই রকম (যা আমি সংযুক্ত করতে পারি না কারণ আমার যথেষ্ট খ্যাতি নেই)।
যেহেতু একটি মন্তব্যে এটি নির্দেশ করা হয়েছিল যে ওপি বিশেষত চিঠিপত্র চেয়েছিল কেবলমাত্র আমি এই বিকল্প সংস্করণটি এখানে ফেলে দেব:
=MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(BASE(RAND()*10^22,36,16),"0",""),"1",""),"2",""),"3",""),"4",""),"5",""),"6",""),"7",""),"8",""),"9",""),1,RAND()*4+8)
যেখানে আপনি অঙ্কের সমস্ত উপস্থিতি খালি স্ট্রিংয়ের পরিবর্তে স্থাপন করেন। এইভাবে আপনি কেবল (বড় হাতের) অক্ষর পাবেন। প্রাথমিক এলোমেলো স্ট্রিংয়ের অনেকগুলি সংখ্যা রয়েছে এমন সম্ভাবনাটি গণনা করার জন্য আমি যাদু নম্বরগুলি টিক করেছি। এটি ব্যর্থ সাফ নয়, যদিও এই অর্থে যে নীতিগতভাবে আপনি এমন স্ট্রিংগুলি পেতে পারেন যা প্রত্যাশার চেয়ে কম।
যদি আপনার ন্যূনতম দৈর্ঘ্যের বিষয়ে নিশ্চিত হওয়া দরকার তবে আপনার কাছে এই অন্যান্য (আরও জটিল) বিকল্প রয়েছে:
=MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(BASE(RAND()*10^22,36,16),"0",CHAR(RANDBETWEEN(65,90))),"1",CHAR(RANDBETWEEN(65,90))),"2",CHAR(RANDBETWEEN(65,90))),"3",CHAR(RANDBETWEEN(65,90))),"4",CHAR(RANDBETWEEN(65,90))),"5",CHAR(RANDBETWEEN(65,90))),"6",CHAR(RANDBETWEEN(65,90))),"7",CHAR(RANDBETWEEN(65,90))),"8",CHAR(RANDBETWEEN(65,90))),"9",CHAR(RANDBETWEEN(65,90))),1,RAND()*4+8)
যেখানে আপনি এলোমেলোভাবে তৈরি হওয়া বড় হাতের অক্ষরের সাথে প্রতিটি অঙ্কের বিকল্প রাখেন।
আমার বলতে হবে যে অন্যান্য উত্তরগুলিতে প্রদত্ত সংস্থাগুলির সাথে আমি প্রাথমিক সমাধানটি যা পছন্দ করি তা হ'ল এটি সংক্ষিপ্ত এবং অপেক্ষাকৃত সহজবোধ্য। দুটি বিকল্প এই বৈশিষ্ট্যগুলি হারাবে।
এলোমেলো অক্ষর উত্পন্ন করতে:
সেল বি 1 এ
= চার (র্যান্ডবিটওয়েইন (৪৮,১১১)) (বা যে কোনও চর সেট আপনি চান)
আপনার স্ট্রিংয়ে কলামগুলির সংখ্যা = সর্বাধিক প্রয়োজনীয় অক্ষরের মধ্যে এটি পূরণ করুন
এলোমেলো দৈর্ঘ্য উত্পন্ন করতে
সেল এ 1 এ
= Left (CONCATENATE (খ 1, গ 1, D1, ই 1, ফর্মুলা 1 যেমন G1 H1, i1, J1, K1), RANDBETWEEN (0,9))
এলোমেলো স্ট্রিং তৈরি করতে
A1 কলামে পুরো টেবিলটি পূরণ করুন
INDEX(B1:B10,RANDBETWEEN(1,10))