ایکسل: ایک ہی وقت میں متعدد اقدار تلاش کریں اور تبدیل کریں۔

  • اس کا اشتراک
Michael Brown

اس ٹیوٹوریل میں، ہم متعدد الفاظ، سٹرنگز، یا انفرادی حروف کو تلاش کرنے اور تبدیل کرنے کے کئی طریقوں پر غور کریں گے، تاکہ آپ اپنی ضروریات کے مطابق ایک کا انتخاب کرسکیں۔

لوگ عام طور پر Excel میں کیسے تلاش کرتے ہیں؟ زیادہ تر، فائنڈ اور amp کا استعمال کرتے ہوئے خصوصیت کو تبدیل کریں، جو واحد اقدار کے لیے ٹھیک کام کرتا ہے۔ لیکن کیا ہوگا اگر آپ کے پاس دسیوں یا اس سے بھی سینکڑوں اشیاء کو تبدیل کرنا ہے؟ یقینی طور پر، کوئی بھی ان تمام تبدیلیوں کو دستی طور پر ایک ایک کرکے نہیں کرنا چاہے گا، اور پھر ڈیٹا تبدیل ہونے پر یہ سب کچھ دوبارہ کریں۔ خوش قسمتی سے، ایکسل میں بڑے پیمانے پر تبدیلی کرنے کے چند اور موثر طریقے ہیں، اور ہم ان میں سے ہر ایک کی تفصیل سے چھان بین کرنے جا رہے ہیں۔

    ایک سے زیادہ قدروں کو تلاش کریں اور ان کو نیسٹڈ SUBSTITUTE سے تبدیل کریں

    ایکسل میں ایک سے زیادہ اندراجات کو تلاش کرنے اور تبدیل کرنے کا سب سے آسان طریقہ SUBSTITUTE فنکشن کا استعمال کرنا ہے۔

    فارمولے کی منطق بہت آسان ہے: آپ کچھ انفرادی فنکشنز لکھتے ہیں تاکہ ایک پرانی ویلیو کو نئی سے تبدیل کیا جاسکے۔ . اور پھر، آپ ان فنکشنز کو ایک دوسرے میں گھسیٹتے ہیں، تاکہ ہر آنے والا SUBSTITUTE اگلی قدر تلاش کرنے کے لیے پچھلے SUBSTITUTE کے آؤٹ پٹ کو استعمال کرتا ہے۔

    SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( text, old_text1, new_text1), old_text2, new_text2), old_text3, new_text3)

    A2:A10 میں مقامات کی فہرست میں، فرض کریں کہ آپ مختصر ملک کے ناموں (جیسے FR ، UK اور USA ) کو مکمل طور پر تبدیل کرنا چاہتے ہیں۔ MassReplace فنکشن صرف ورک بک میں کام کرے گا جس میں آپ نے کوڈ ڈالا ہے۔ اگر آپ کو یقین نہیں ہے کہ اسے صحیح طریقے سے کیسے کرنا ہے، تو براہ کرم ایکسل میں VBA کوڈ کیسے داخل کریں میں بیان کردہ مراحل پر عمل کریں۔

    آپ کی ورک بک میں کوڈ شامل ہونے کے بعد، فنکشن فارمولہ انٹیلی سینس میں ظاہر ہوگا - صرف فنکشن کا نام، دلائل نہیں! اگرچہ، مجھے یقین ہے کہ نحو کو یاد رکھنا کوئی بڑی بات نہیں ہے:

    MassReplace(input_range, find_range, replace_range)

    Where:

    • Input_range - ماخذ کی حد جہاں آپ اقدار کو تبدیل کرنا چاہتے ہیں۔
    • Find_range - حروف، تار، یا الفاظ تلاش کرنے کے لیے۔
    • Replace_range - حروف، تار، یا اس کے ساتھ تبدیل کرنے کے لیے الفاظ۔

    ایکسل 365 میں، متحرک صفوں کی حمایت کی وجہ سے، یہ ایک عام فارمولے کے طور پر کام کرتا ہے، جسے صرف اوپر والے سیل (B2) میں داخل کرنے کی ضرورت ہے:

    =MassReplace(A2:A10, D2:D4, E2:E4)

    پری ڈائنامک ایکسل میں، یہ ایک پرانے طرز کے CSE ارے فارمولے کے طور پر کام کرتا ہے: آپ پوری سورس رینج (B2:B10) کو منتخب کرتے ہیں، ٹائپ کریں فارمولا، اور اسے مکمل کرنے کے لیے بیک وقت Ctrl + Shift + Enter کیز دبائیں۔

    فائدے : Excel 2019 میں اپنی مرضی کے LAMBDA فنکشن کا ایک معقول متبادل , Excel 2016 اور اس سے پہلے کے ورژن

    خرابیاں : ورک بک کو میکرو فعال .xlsm فائل کے طور پر محفوظ کیا جانا چاہیے

    ایکسل میں VBA میکرو کے ساتھ بلک تبدیل کریں

    اگر آپ کو آٹو پسند ہے۔ عام کاموں کو میکروز کے ساتھ ملانا، پھر آپرینج میں متعدد اقدار کو تلاش کرنے اور تبدیل کرنے کے لیے درج ذیل VBA کوڈ کا استعمال کر سکتے ہیں۔

    Sub BulkReplace() Dim Rng As Range، SourceRng As رینج، ReplaceRng As رینج آن ایرر دوبارہ شروع کریں اگلا سیٹ SourceRng = Application.InputBox( "ماخذ ڈیٹا: " , "Bulk Replace" , Application.Selection.Address, Type :=8) Err.Clear if not SourceRng کچھ بھی نہیں ہے تو ReplaceRng = Application.InputBox سیٹ کریں("Replace Replace:" , "Bulk Replace" , Type :=8) Err.Clear if ReplaceRng کچھ بھی نہیں ہے پھر Application.ScreenUpdating = False ہر Rng کے لیے ReplaceRng.Columns(1) سیلز SourceRng.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).Value Next Application.ScreenUpdating = True End If End If End Sub

    فوری طور پر میکرو کا استعمال کرنے کے لیے، آپ کوڈ پر مشتمل ہماری نمونہ ورک بک ڈاؤن لوڈ کر سکتے ہیں۔ یا آپ اپنی ورک بک میں کوڈ داخل کر سکتے ہیں۔

    میکرو کا استعمال کیسے کریں

    میکرو چلانے سے پہلے، پرانی اور نئی قدروں کو دو ملحقہ کالموں میں ٹائپ کریں جیسا کہ ذیل کی تصویر میں دکھایا گیا ہے ( C2:D4)۔

    اور پھر، اپنا سورس ڈیٹا منتخب کریں، Alt + F8 دبائیں، BulkReplace میکرو کو منتخب کریں، اور چلائیں پر کلک کریں۔

    <0

    جیسا کہ ماخذ غصہ پہلے سے منتخب کیا گیا ہے، صرف حوالہ کی تصدیق کریں، اور ٹھیک ہے پر کلک کریں:

    25>

    اس کے بعد، رینج تبدیل کریں کو منتخب کریں، اور OK پر کلک کریں:

    Done!

    فوائد : ایک بار سیٹ اپ، کسی بھی وقت دوبارہ استعمال کریں

    خرابیاں : میکرو کو ہر ڈیٹا کے ساتھ چلانے کی ضرورت ہے۔تبدیل کریں

    ایکسل میں سبسٹرنگ ٹول کے ساتھ ایک سے زیادہ تلاش کریں اور تبدیل کریں

    پہلی مثال میں، میں نے ذکر کیا کہ نیسٹڈ سبسٹی ٹیوٹ ایکسل میں متعدد اقدار کو تبدیل کرنے کا سب سے آسان طریقہ ہے۔ میں مانتا ہوں کہ میں غلط تھا۔ ہمارا الٹیمیٹ سویٹ چیزوں کو اور بھی آسان بنا دیتا ہے!

    اپنی ورک شیٹ میں بڑے پیمانے پر تبدیلی کرنے کے لیے، Ablebits Data ٹیب پر جائیں اور سبسٹرنگ ٹولز > پر کلک کریں۔ سب اسٹرنگز کو تبدیل کریں ۔

    سبسٹرنگز کو تبدیل کریں ڈائیلاگ باکس ظاہر ہوگا جو آپ سے ماخذ رینج اور <1 کی وضاحت کرنے کو کہے گا۔>Substrings range.

    منتخب کردہ دو رینجز کے ساتھ، تبدیل کریں بٹن پر کلک کریں اور نتائج کو دائیں جانب داخل کردہ نئے کالم میں تلاش کریں۔ اصل ڈیٹا کا۔ ہاں، یہ اتنا آسان ہے!

    ٹپ۔ تبدیل کریں پر کلک کرنے سے پہلے، آپ کے لیے ایک اہم چیز پر غور کرنا ہے - کیس سے حساس باکس۔ اگر آپ بڑے اور چھوٹے حروف کو مختلف حروف کے طور پر ہینڈل کرنا چاہتے ہیں تو اسے ضرور منتخب کریں۔ اس مثال میں، ہم اس آپشن پر نشان لگاتے ہیں کیونکہ ہم صرف بڑے سٹرنگز کو بدلنا چاہتے ہیں اور دوسرے الفاظ کے اندر "fr"، "uk" یا "ak" جیسے ذیلی اسٹرنگ کو برقرار رکھنا چاہتے ہیں۔

    اگر آپ یہ جاننا چاہتے ہیں کہ سٹرنگز پر کون سے دوسرے بلک آپریشن کیے جا سکتے ہیں، تو ہمارے الٹیمیٹ سویٹ کے ساتھ شامل دیگر سبسٹرنگ ٹولز کو دیکھیں۔ یا اس سے بھی بہتر، ذیل میں تشخیصی ورژن ڈاؤن لوڈ کریں اور اسے آزمائیں!

    اس طرح تلاش کرنے اور تبدیل کرنے کا طریقہ ہےایکسل میں ایک ساتھ متعدد الفاظ اور حروف۔ میں پڑھنے کے لیے آپ کا شکریہ ادا کرتا ہوں اور امید کرتا ہوں کہ آپ کو اگلے ہفتے ہمارے بلاگ پر ملوں گا!

    دستیاب ڈاؤن لوڈز

    ایکسل میں ایک سے زیادہ ڈھونڈیں اور تبدیل کریں (.xlsm فائل)

    Ultimate Suite 14 دن مکمل طور پر فعال ورژن (.exe فائل)

    نام۔

    اسے کرنے کے لیے، D2:D4 میں پرانی اقدار اور E2:E4 میں نئی ​​قدریں درج کریں جیسا کہ نیچے اسکرین شاٹ میں دکھایا گیا ہے۔ اور پھر، مندرجہ ذیل فارمولے کو B2 میں ڈالیں اور Enter دبائیں:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2:A10, D2, E2), D3, E3), D4, E4)

    …اور آپ کے پاس ایک ساتھ تمام تبدیلیاں ہوں گی:

    براہ کرم نوٹ کریں، مندرجہ بالا نقطہ نظر صرف Excel 365 میں کام کرتا ہے جو متحرک صفوں کو سپورٹ کرتا ہے۔

    Excel 2019، Excel 2016 اور اس سے پہلے کے پری ڈائنامک ورژنز میں، فارمولے کی ضرورت ہے سب سے اوپر والے سیل (B2) کے لیے لکھا گیا، اور پھر ذیل کے سیلز میں کاپی کیا گیا:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, $D$2, $E$2), $D$3, $E$3), $D$4, $E$4)

    براہ کرم توجہ دیں کہ، اس صورت میں، ہم متبادل اقدار کو مطلق سیل حوالوں کے ساتھ مقفل کرتے ہیں، لہذا فارمولے کو کاپی کرتے وقت وہ تبدیل نہیں ہوں گے۔

    نوٹ۔ SUBSTITUTE فنکشن case-sensitive ہے، یعنی آپ کو پرانی اقدار ( old_text ) کو اسی لیٹر کیس میں ٹائپ کرنا چاہیے جیسا کہ وہ اصل ڈیٹا میں ظاہر ہوتا ہے۔

    جتنا آسان ہوسکتا ہے، اس طریقہ میں ایک اہم خرابی ہے - جب آپ کے پاس درجنوں آئٹمز تبدیل کرنے کے لیے ہوتے ہیں، تو نیسٹڈ فنکشنز کا انتظام کرنا کافی مشکل ہوجاتا ہے۔

    فائدے : آسان -لاگو کرنے کے لئے؛ ایکسل کے تمام ورژنز میں تعاون یافتہ

    خرابیاں : محدود تعداد میں تلاش/بدلنے والی اقدار کے لیے استعمال کیا جانا بہتر ہے

    XLOOKUP

    <0 کے ساتھ متعدد اندراجات کو تلاش کریں اور تبدیل کریں اس صورت حال میں جب آپ مکمل سیل مواد کو تبدیل کرنا چاہتے ہیں، اس کا حصہ نہیں، XLOOKUP فنکشن کام آتا ہے۔

    آئیےکہتے ہیں کہ آپ کے پاس کالم A میں ممالک کی فہرست ہے اور اس کا مقصد تمام مخففات کو متعلقہ مکمل ناموں سے بدلنا ہے۔ پچھلی مثال کی طرح، آپ "تلاش کریں" اور "تبدیل کریں" آئٹمز کو الگ الگ کالم (بالترتیب D اور E) میں ڈالنے کے ساتھ شروع کرتے ہیں، اور پھر اس فارمولے کو B2 میں درج کریں:

    =XLOOKUP(A2, $D$2:$D$4, $E$2:$E$4, A2)

    ایکسل کی زبان سے انسانی زبان میں ترجمہ کیا گیا، یہاں یہ ہے کہ فارمولہ کیا کرتا ہے:

    D2:D4 (lookup_array) میں A2 قدر (lookup_value) تلاش کریں اور E2:E4 (return_array) سے مماثلت واپس کریں۔ اگر نہیں ملا تو، A2 سے اصل قدر کھینچیں۔

    فارمولے کو درج ذیل سیلز میں کاپی کرنے کے لیے فل ہینڈل پر ڈبل کلک کریں، اور نتیجہ آپ کو انتظار نہیں کرے گا:

    چونکہ XLOOKUP فنکشن صرف Excel 365 میں دستیاب ہے، اس لیے اوپر والا فارمولا پہلے کے ورژن میں کام نہیں کرے گا۔ تاہم، آپ آسانی سے IFERROR یا IFNA اور VLOOKUP:

    =IFNA(VLOOKUP(A2, $D$2:$E$4, 2, FALSE), A2)

    نوٹ کے امتزاج کے ساتھ اس طرز عمل کی نقل کرسکتے ہیں۔ SUBSTITUTE کے برعکس، XLOOKUP اور VLOOKUP فنکشنز کیس کے لحاظ سے حساس نہیں ہیں ، یعنی وہ لیٹر کیس کو نظر انداز کرتے ہوئے تلاش کی قدروں کو تلاش کرتے ہیں۔ مثال کے طور پر، ہمارا فارمولا FR اور fr دونوں کو France سے بدل دے گا۔

    فائدے : معمول کے افعال کا غیر معمولی استعمال؛ تمام ایکسل ورژنز میں کام کرتا ہے

    خرابیاں : سیل کی سطح پر کام کرتا ہے، سیل کے مواد کے کچھ حصے کو تبدیل نہیں کر سکتا ہے

    بار بار آنے والے LAMBDA فنکشن کا استعمال کرتے ہوئے ایک سے زیادہ تبدیل کریں

    مائیکروسافٹ کے لیے365 سبسکرائبرز، ایکسل ایک خاص فنکشن فراہم کرتا ہے جو روایتی فارمولہ زبان کا استعمال کرتے ہوئے حسب ضرورت فنکشنز بنانے کی اجازت دیتا ہے۔ جی ہاں، میں LAMBDA کے بارے میں بات کر رہا ہوں۔ اس طریقہ کار کی خوبصورتی یہ ہے کہ یہ ایک بہت ہی لمبے اور پیچیدہ فارمولے کو بہت ہی کمپیکٹ اور سادہ فارمولے میں تبدیل کر سکتا ہے۔ مزید یہ کہ، یہ آپ کو اپنے ایسے فنکشنز بنانے دیتا ہے جو Excel میں موجود نہیں ہیں، کچھ ایسا جو پہلے صرف VBA کے ساتھ ممکن تھا۔

    حسب ضرورت LAMBDA فنکشنز بنانے اور استعمال کرنے کے بارے میں تفصیلی معلومات کے لیے، براہ کرم یہ ٹیوٹوریل دیکھیں: کیسے ایکسل میں LAMBDA فنکشن لکھنے کے لیے۔ یہاں، ہم چند عملی مثالوں پر بات کریں گے۔

    فائدے : نتیجہ ایک خوبصورت اور حیرت انگیز طور پر استعمال کرنے کے لیے آسان ہے، چاہے متبادل جوڑوں کی تعداد کیوں نہ ہو

    خرابیاں : صرف ایکسل 365 میں دستیاب ہے۔ ورک بک کے لیے مخصوص ہے اور اسے مختلف ورک بکز میں دوبارہ استعمال نہیں کیا جا سکتا ہے

    مثال 1. ایک ساتھ متعدد الفاظ / سٹرنگز تلاش کریں اور تبدیل کریں

    ایک ہی بار میں متعدد الفاظ یا متن کو تبدیل کرنے کے لیے، ہم نے ایک حسب ضرورت بنایا ہے۔ LAMBDA فنکشن، جس کا نام MultiReplace ہے، جو ان میں سے ایک شکل لے سکتا ہے:

    =LAMBDA(text, old, new, IF(old"", MultiReplace(SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0)), text))

    یا

    =LAMBDA(text, old, new, IF(old="", text, MultiReplace(SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0))))

    دونوں تکراری ہیں۔ افعال جو خود کو کہتے ہیں۔ فرق صرف اس بات میں ہے کہ ایگزٹ پوائنٹ کیسے قائم ہوتا ہے۔

    پہلے فارمولے میں، IF فنکشن چیک کرتا ہے کہ آیا پرانی فہرست خالی نہیں ہے (پرانی"")۔ اگر درست ہے تو، MultiReplace فنکشن کہا جاتا ہے۔ اگر FALSE، فنکشن متن کو اس کی موجودہ شکل لوٹاتا ہے اور باہر نکلتا ہے۔

    دوسرا فارمولہ الٹ منطق کا استعمال کرتا ہے: اگر پرانا خالی ہے (پرانا="")، تو واپس متن اور باہر نکلیں؛ بصورت دیگر MultiReplace کو کال کریں۔

    سب سے مشکل حصہ مکمل ہو گیا ہے! آپ کے لیے جو کچھ کرنا باقی ہے وہ یہ ہے کہ نام مینیجر میں MultiReplace فنکشن کا نام رکھیں جیسا کہ نیچے اسکرین شاٹ میں دکھایا گیا ہے۔ تفصیلی رہنما خطوط کے لیے، براہ کرم دیکھیں کہ LAMBDA فنکشن کا نام کیسے رکھا جائے۔

    ایک بار فنکشن کا نام آنے کے بعد، آپ اسے کسی دوسرے ان بلٹ فنکشن کی طرح استعمال کرسکتے ہیں۔

    آپ دونوں فارمولوں میں سے جو بھی تغیرات منتخب کرتے ہیں، اختتامی صارف کے نقطہ نظر سے، نحو اتنا ہی آسان ہے جتنا کہ:

    MultiReplace(متن، پرانا، نیا)

    کہاں:

    • متن - ماخذ ڈیٹا
    • پرانا - تلاش کرنے کے لیے قدریں
    • نئی - وہ اقدار جن کے ساتھ بدلنا ہے

    پچھلی مثال کو تھوڑا آگے لے کر، آئیے نہ صرف ملکی مخففات بلکہ ریاستی مخففات کو بھی بدل دیں۔ اس کے لیے، D2 سے شروع ہونے والے کالم D میں مخففات ( پرانی اقدار) اور E2 سے شروع ہونے والے کالم E میں پورے نام ( نئی اقدار) ٹائپ کریں۔

    میں B2، MultiReplace فنکشن درج کریں:

    =MultiReplace(A2:A10, D2, E2)

    انٹر کو دبائیں اور نتائج سے لطف اندوز ہوں :)

    19>

    یہ فارمولہ کیسے کام کرتا ہے

    فارمولے کو سمجھنے کا اشارہ تکرار کو سمجھنا ہے۔ یہ پیچیدہ لگ سکتا ہے، لیکن اصول بہت آسان ہے. ہر ایک کے ساتھتکرار، ایک بار بار چلنے والا فنکشن کسی بڑے مسئلے کی ایک چھوٹی سی مثال کو حل کرتا ہے۔ ہمارے معاملے میں، MultiReplace فنکشن پرانی اور نئی قدروں سے گزرتا ہے اور، ہر لوپ کے ساتھ، ایک متبادل انجام دیتا ہے:

    MultiReplace (SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0))

    جیسا کہ نیسٹڈ SUBSTITUTE فنکشنز کے ساتھ، پچھلے SUBSTITUTE کا نتیجہ اگلے SUBSTITUTE کے لیے text پیرامیٹر بن جاتا ہے۔ دوسرے لفظوں میں، MultiReplace کی ہر آنے والی کال پر، SUBSTITUTE فنکشن اصل ٹیکسٹ اسٹرنگ پر نہیں بلکہ پچھلی کال کے آؤٹ پٹ پر کارروائی کرتا ہے۔

    <1 پر تمام آئٹمز کو ہینڈل کرنے کے لیے>پرانی فہرست، ہم سب سے اوپر والے سیل کے ساتھ شروع کرتے ہیں، اور ہر تعامل کے ساتھ 1 قطار کو نیچے لے جانے کے لیے OFFSET فنکشن کا استعمال کرتے ہیں:

    OFFSET(old, 1, 0)

    ایسا ہی کے لیے کیا جاتا ہے۔ نئی فہرست:

    OFFSET(new, 1, 0)

    اہم بات یہ ہے کہ ایک باہر نکلنے کا نقطہ فراہم کیا جائے تاکہ دوبارہ آنے والی کالوں کو ہمیشہ کے لیے آگے بڑھنے سے روکا جا سکے۔ یہ IF فنکشن کی مدد سے کیا جاتا ہے - اگر پرانا سیل خالی ہے تو فنکشن text اسے اپنی موجودہ شکل میں لوٹاتا ہے اور باہر نکلتا ہے:

    =LAMBDA(text, old, new, IF(old="", text, MultiReplace(…)))

    یا

    =LAMBDA(text, old, new, IF(old"", MultiReplace(…), text))

    مثال 2۔ ایکسل میں متعدد حروف کو تبدیل کریں

    اصولی طور پر، پچھلی مثال میں زیر بحث MultiReplace فنکشن انفرادی حروف کو بھی ہینڈل کریں، بشرطیکہ ہر پرانے اور نئے کردار کو الگ سیل میں درج کیا گیا ہو، بالکل اوپر والے اسکرین شاٹس میں مخفف اور مکمل ناموں کی طرح۔

    اگر آپ پرانے کو داخل کرنا چاہتے ہیںایک سیل میں حروف اور دوسرے سیل میں نئے حروف، یا انہیں براہ راست فارمولے میں ٹائپ کریں، پھر آپ ان فارمولوں میں سے کسی ایک کو استعمال کرکے ReplaceChars نامی ایک اور کسٹم فنکشن بنا سکتے ہیں:

    =LAMBDA(text, old_chars, new_chars, IF(old_chars"", ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1)), text))

    یا

    =LAMBDA(text, old_chars, new_chars, IF(old_chars="", text, ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1))))

    نیم مینیجر میں اپنے نئے لیمبڈا فنکشن کا نام معمول کے مطابق رکھنا یاد رکھیں:

    اور آپ کا نیا کسٹم فنکشن استعمال کے لیے تیار ہے:

    ReplaceChars(text, old_chars, new_chars)

    جہاں:

    • Text - اصل تاریں
    • پرانا - وہ حروف جنہیں تلاش کرنا ہے
    • نیا - وہ حروف جنہیں

    سے تبدیل کرنا ہے، اسے فیلڈ ٹیسٹ دینے کے لیے، آئیے کچھ ایسا کرتے ہیں جو اکثر درآمد شدہ ڈیٹا پر کیا جاتا ہے - سمارٹ کوٹس اور سمارٹ اپاسٹروفی کو سیدھے اقتباسات اور سیدھے حروف تہجی سے بدل دیں۔

    سب سے پہلے، ہم D2 میں سمارٹ اقتباسات اور سمارٹ اپاسٹروفی داخل کرتے ہیں، سیدھے اقتباسات اور E2 میں سیدھے اقتباسات ، بہتر پڑھنے کی اہلیت کے لیے حروف کو خالی جگہوں سے الگ کرنا۔ (چونکہ ہم دونوں سیلز میں ایک ہی ڈیلیمیٹر استعمال کرتے ہیں، اس کا نتیجہ پر کوئی اثر نہیں پڑے گا - ایکسل صرف ایک اسپیس کو اسپیس سے بدل دے گا۔)

    اس کے بعد، ہم اس فارمولے کو B2 میں درج کرتے ہیں:

    =ReplaceChars(A2:A4, D2, E2)

    اور بالکل وہی نتائج حاصل کریں جس کی ہم تلاش کر رہے تھے:

    21>

    فارمولے میں براہ راست حروف کو ٹائپ کرنا بھی ممکن ہے۔ ہمارے معاملے میں، اس طرح سیدھے اقتباسات کو "ڈپلیکیٹ" کرنا یاد رکھیں:

    =ReplaceChars(A2:A4, "“ ” ’", """ "" '")

    یہ فارمولہ کیسے کام کرتا ہے

    The ReplaceChars فنکشن old_chars اور new_chars سٹرنگز کے ذریعے چکر لگاتا ہے اور بائیں طرف کے پہلے حرف سے شروع ہونے والے ایک وقت میں ایک تبدیلی کرتا ہے۔ یہ حصہ SUBSTITUTE فنکشن کے ذریعے کیا جاتا ہے:

    SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars))

    ہر تکرار کے ساتھ، RIGHT فنکشن old_chars اور دونوں کے بائیں سے ایک حرف کو ہٹا دیتا ہے۔ new_chars سٹرنگز، تاکہ LEFT متبادل کے لیے حروف کا اگلا جوڑا حاصل کر سکے:

    ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1))

    ہر بار بار آنے والی کال سے پہلے، IF فنکشن old_chars سٹرنگ کا جائزہ لیتا ہے۔ . اگر یہ خالی نہیں ہے تو، فنکشن خود کو کال کرتا ہے. جیسے ہی آخری کریکٹر کو تبدیل کیا جاتا ہے، تکرار کا عمل ختم ہوجاتا ہے، فارمولہ text اس کی موجودہ شکل واپس کرتا ہے اور باہر نکلتا ہے۔

    نوٹ۔ چونکہ ہمارے بنیادی فارمولوں میں استعمال ہونے والا SUBSTITUTE فنکشن کیس حساس ہے، دونوں Lambdas ( MultiReplace اور ReplaceChars ) بڑے اور چھوٹے حروف کو مختلف حروف مانتے ہیں۔

    UDF کے ساتھ بڑے پیمانے پر تلاش کریں اور تبدیل کریں

    اگر آپ کے ایکسل میں LAMBDA فنکشن دستیاب نہیں ہے، تو آپ VBA کا استعمال کرتے ہوئے روایتی طریقے سے ملٹی ریپلیس کے لیے صارف کی وضاحت کردہ فنکشن لکھ سکتے ہیں۔

    UDF کو LAMBDA کے متعین MultiReplace فنکشن سے ممتاز کرنے کے لیے، ہم اسے مختلف نام دینے جارہے ہیں، بولیں MassReplace ۔ فنکشن کا کوڈ مندرجہ ذیل ہے:

    فنکشن MassReplace (InputRng As Range، FindRng As Range، ReplaceRng As Rerange) بطور ویرینٹ () DimarRes() نتائج کو ذخیرہ کرنے کے لیے ویریئنٹ 'سری کے طور پر Dim arSearchReplace()، sTmp As String' array جہاں ڈھونڈنے/بدلنے والے جوڑوں کو اسٹور کرنا ہے، عارضی سٹرنگ Dim iFindCurRow، cntFindRows As long' انڈیکس SearchReplace ارے کی موجودہ قطار کی، شمار قطاروں کی مدھم iInputCurRow، iInputCurCol، cntInputRows، cntInputCols ماخذ کی حد میں موجودہ قطار کی لمبی 'انڈیکس، سورس رینج میں موجودہ کالم کا اشاریہ، قطاروں کی گنتی، کالموں کی گنتی cntInputRows = InputRng.InputRng.Rows = InputRng. .Columns.Count cntFindRows = FindRng.Rows.Count ReDim arRes(1 سے cntInputRows، 1 سے cntInputCols) ریڈیم arSearchReplace(1 سے cntFindRows، 1 سے 2) 'iFindRow کے لیے find/replace جوڑوں کی صف کی تیاری iFindCurRow, 1) = FindRng.Cells(iFindCurRow, 1)۔Value arSearchReplace(iFindCurRow, 2) = ReplaceRng.Cells(iFindCurRow, 1)۔ ویلیو Next 'iInCurnt = iInCurnt کے لیے iInCurnt کے سورس رینج میں تلاش اور تبدیل کرنا 1 سے cntInputCols sTm p = InputRng.Cells(iInputCurRow, iInputCurCol)۔ ویلیو 'ہر سیل میں تمام فائنڈ/ریپلیس جوڑوں کو تبدیل کرنا iFindCurRow = 1 سے cntFindRows کے لیے (iInputCurRow, iInputCurCol) = sTmp اگلا اگلا MassReplace = arRes End فنکشن

    LAMBDA کے متعین فنکشنز کی طرح، UDFs ورک بک وسیع ہیں۔ اس کا مطلب ہے۔

    مائیکل براؤن سافٹ ویئر ٹولز کا استعمال کرتے ہوئے پیچیدہ عمل کو آسان بنانے کے جذبے کے ساتھ ٹیکنالوجی سے وابستہ ایک سرشار ہے۔ ٹیک انڈسٹری میں ایک دہائی سے زیادہ کے تجربے کے ساتھ، اس نے مائیکروسافٹ ایکسل اور آؤٹ لک کے ساتھ ساتھ گوگل شیٹس اور دستاویزات میں بھی اپنی صلاحیتوں کو نکھارا ہے۔ مائیکل کا بلاگ اپنے علم اور مہارت کو دوسروں کے ساتھ بانٹنے کے لیے وقف ہے، پیداواری صلاحیت اور کارکردگی کو بہتر بنانے کے لیے آسان پیروی کرنے والی تجاویز اور سبق فراہم کرتا ہے۔ چاہے آپ ایک تجربہ کار پیشہ ور ہوں یا ابتدائی، مائیکل کا بلاگ ان ضروری سافٹ ویئر ٹولز سے زیادہ سے زیادہ فائدہ اٹھانے کے لیے قیمتی بصیرتیں اور عملی مشورہ پیش کرتا ہے۔