విషయ సూచిక
ఈ ట్యుటోరియల్లో, మేము బహుళ పదాలు, స్ట్రింగ్లు లేదా వ్యక్తిగత అక్షరాలను కనుగొనడానికి మరియు భర్తీ చేయడానికి అనేక మార్గాలను పరిశీలిస్తాము, కాబట్టి మీరు మీ అవసరాలకు బాగా సరిపోయేదాన్ని ఎంచుకోవచ్చు.
వ్యక్తులు సాధారణంగా Excelలో ఎలా శోధిస్తారు? ఎక్కువగా, కనుగొను & లక్షణాన్ని భర్తీ చేయండి, ఇది ఒకే విలువలకు బాగా పని చేస్తుంది. కానీ మీరు భర్తీ చేయడానికి పదుల లేదా వందల కొద్దీ వస్తువులను కలిగి ఉంటే ఏమి చేయాలి? ఖచ్చితంగా, ఆ రీప్లేస్మెంట్లన్నింటినీ మాన్యువల్గా చేయడానికి ఎవరూ ఇష్టపడరు, ఆపై డేటా మారినప్పుడు మళ్లీ మళ్లీ చేయండి. అదృష్టవశాత్తూ, Excelలో మాస్ రీప్లేస్ చేయడానికి మరికొన్ని ప్రభావవంతమైన పద్ధతులు ఉన్నాయి మరియు మేము వాటిలో ప్రతిదాన్ని వివరంగా పరిశోధించబోతున్నాము.
బహుళ విలువలను సమూహ ప్రత్యామ్నాయంతో కనుగొని భర్తీ చేయండి
సబ్స్టిట్యూట్ ఫంక్షన్ని ఉపయోగించడం ద్వారా Excelలో బహుళ ఎంట్రీలను కనుగొనడం మరియు భర్తీ చేయడం సులభమయిన మార్గం.
ఫార్ములా యొక్క లాజిక్ చాలా సులభం: పాత విలువను కొత్త దానితో భర్తీ చేయడానికి మీరు కొన్ని వ్యక్తిగత ఫంక్షన్లను వ్రాస్తారు. . ఆపై, మీరు ఆ ఫంక్షన్లను ఒకదానికొకటి గూడుగా ఉంచుతారు, తద్వారా ప్రతి తదుపరి ప్రత్యామ్నాయం తదుపరి విలువ కోసం చూసేందుకు మునుపటి ప్రత్యామ్నాయం యొక్క అవుట్పుట్ను ఉపయోగిస్తుంది.
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( text, ) old_text1, new_text1), old_text2, new_text2), old_text3, new_text3)A2:A10లోని స్థానాల జాబితాలో, మీరు సంక్షిప్త దేశం పేర్లను ( FR , UK మరియు USA వంటివి) పూర్తిగా భర్తీ చేయాలనుకుంటున్నారని అనుకుందాం. MassReplace ఫంక్షన్ మీరు కోడ్ను చొప్పించిన వర్క్బుక్లో మాత్రమే పని చేస్తుంది. దీన్ని సరిగ్గా ఎలా చేయాలో మీకు తెలియకుంటే, దయచేసి Excelలో VBA కోడ్ను ఎలా చొప్పించాలో వివరించిన దశలను అనుసరించండి.
మీ వర్క్బుక్కి కోడ్ జోడించబడిన తర్వాత, ఫంక్షన్ ఫార్ములా ఇంటెలిసెన్స్లో కనిపిస్తుంది - మాత్రమే ఫంక్షన్ పేరు, వాదనలు కాదు! అయినప్పటికీ, సింటాక్స్ను గుర్తుంచుకోవడం పెద్ద విషయం కాదని నేను నమ్ముతున్నాను:
MassReplace(input_range, find_range, replace_range)ఎక్కడ:
- Input_range - మూల పరిధి ఎక్కడ ఉంది మీరు విలువలను భర్తీ చేయాలనుకుంటున్నారు.
- Find_range - శోధించడానికి అక్షరాలు, స్ట్రింగ్లు లేదా పదాలు.
- Replace_range - అక్షరాలు, స్ట్రింగ్లు, లేదా పదాలను భర్తీ చేయాలి.
Excel 365లో, డైనమిక్ శ్రేణులకు మద్దతు ఉన్నందున, ఇది సాధారణ ఫార్ములా వలె పనిచేస్తుంది, ఇది ఎగువ సెల్లో మాత్రమే నమోదు చేయాలి (B2):
=MassReplace(A2:A10, D2:D4, E2:E4)
ప్రీ-డైనమిక్ ఎక్సెల్లో, ఇది పాత-శైలి CSE అర్రే ఫార్ములాగా పనిచేస్తుంది: మీరు మొత్తం సోర్స్ పరిధిని (B2:B10) ఎంచుకుని, టైప్ చేయండి ఫార్ములా, మరియు దీన్ని పూర్తి చేయడానికి Ctrl + Shift + Enter కీలను ఏకకాలంలో నొక్కండి.
ప్రయోజనాలు : Excel 2019లో అనుకూల LAMBDA ఫంక్షన్కు మంచి ప్రత్యామ్నాయం , Excel 2016 మరియు మునుపటి సంస్కరణలు
లోపాలు : వర్క్బుక్ తప్పనిసరిగా స్థూల-ప్రారంభించబడిన .xlsm ఫైల్గా సేవ్ చేయబడాలి
Excelలో VBA మాక్రోతో బల్క్ రీప్లేస్
మీరు ఆటోను ఇష్టపడితే మాక్రోలతో సాధారణ పనులను జత చేయడం, తర్వాత మీరుఒక పరిధిలో బహుళ విలువలను కనుగొని, భర్తీ చేయడానికి క్రింది VBA కోడ్ని ఉపయోగించవచ్చు.
సబ్ బల్క్రిప్లేస్() డిమ్ Rng రేంజ్, సోర్స్ఆర్ంగ్ రేంజ్, రీప్లేస్ఆర్ంగ్ రేంజ్ ఆన్ ఎరర్ రెస్యూమ్ తదుపరి సెట్ SourceRng = Application.InputBox( "మూల డేటా: " , "బల్క్ రీప్లేస్" , Application.Selection.Address, Type :=8) Err. SourceRng కాకపోతే క్లియర్ చేయండి, ReplaceRng = Application.InputBox( "పరిధిని భర్తీ చేయండి:" , "బల్క్ రీప్లేస్" , టైప్ :=8) Err.Replacerng కాకపోతే క్లియర్ చేయండి అప్పుడు అప్లికేషన్. స్క్రీన్అప్డేటింగ్ = ReplaceRng. నిలువు వరుసలు(1)లో ప్రతి Rngకి తప్పు. సెల్స్ SourceRng Application.ScreenUpdating = True End If End Subమాక్రోని వెంటనే ఉపయోగించుకోవడానికి, మీరు కోడ్ని కలిగి ఉన్న మా నమూనా వర్క్బుక్ని డౌన్లోడ్ చేసుకోవచ్చు. లేదా మీరు మీ స్వంత వర్క్బుక్లో కోడ్ను చొప్పించవచ్చు.
మాక్రోని ఎలా ఉపయోగించాలి
మాక్రోను అమలు చేయడానికి ముందు, దిగువ చిత్రంలో చూపిన విధంగా పాత మరియు కొత్త విలువలను రెండు ప్రక్కనే ఉన్న నిలువు వరుసలలో టైప్ చేయండి ( C2:D4).
ఆపై, మీ సోర్స్ డేటాను ఎంచుకుని, Alt + F8 నొక్కండి, BulkReplace మాక్రోని ఎంచుకుని, Run ని క్లిక్ చేయండి.
మూలం ఆవేశం ముందుగా ఎంపిక చేయబడినందున, సూచనను ధృవీకరించి, సరి క్లిక్ చేయండి:
ఆ తర్వాత, పరిధిని భర్తీ చేయి ని ఎంచుకుని, సరే క్లిక్ చేయండి:
పూర్తయింది!
ప్రయోజనాలు : ఒకసారి సెటప్ చేయండి, ఎప్పుడైనా మళ్లీ ఉపయోగించండి
లోపాలు : మాక్రో ప్రతి డేటాతో రన్ చేయబడాలిchange
Substring సాధనంతో Excelలో బహుళ కనుగొని భర్తీ చేయండి
మొదటి ఉదాహరణలో, Excelలో బహుళ విలువలను భర్తీ చేయడానికి నెస్టెడ్ సబ్స్టిట్యూట్ సులభమైన మార్గం అని నేను పేర్కొన్నాను. నేను తప్పు చేశానని అంగీకరిస్తున్నాను. మా అల్టిమేట్ సూట్ పనులను మరింత సులభతరం చేస్తుంది!
మీ వర్క్షీట్లో భారీ రీప్లేస్ చేయడానికి, Ablebits డేటా ట్యాబ్కు వెళ్లి సబ్స్ట్రింగ్ సాధనాలు > క్లిక్ చేయండి సబ్స్ట్రింగ్లను రీప్లేస్ చేయండి .
సబ్స్ట్రింగ్లను రీప్లేస్ చేయండి డైలాగ్ బాక్స్ మిమ్మల్ని సోర్స్ పరిధిని మరియు <1ని నిర్వచించమని అడుగుతుంది>సబ్స్ట్రింగ్లు పరిధి.
రెండు పరిధులను ఎంచుకున్నప్పుడు, భర్తీ బటన్ను క్లిక్ చేసి, కుడివైపున చొప్పించిన కొత్త నిలువు వరుసలో ఫలితాలను కనుగొనండి అసలు డేటా. అవును, ఇది చాలా సులభం!
చిట్కా. భర్తీ చేయి ని క్లిక్ చేయడానికి ముందు, మీరు పరిగణించవలసిన ఒక ముఖ్యమైన విషయం ఉంది - కేస్-సెన్సిటివ్ బాక్స్. మీరు పెద్ద అక్షరం మరియు చిన్న అక్షరాలను వేర్వేరు అక్షరాలుగా నిర్వహించాలనుకుంటే దాన్ని ఎంచుకోవాలని నిర్ధారించుకోండి. ఈ ఉదాహరణలో, మేము ఈ ఎంపికను టిక్ చేసాము ఎందుకంటే మేము క్యాపిటలైజ్డ్ స్ట్రింగ్లను మాత్రమే భర్తీ చేయాలనుకుంటున్నాము మరియు ఇతర పదాలలో "fr", "uk" లేదా "ak" వంటి సబ్స్ట్రింగ్లను అలాగే ఉంచాలనుకుంటున్నాము.
స్ట్రింగ్లపై ఇతర బల్క్ ఆపరేషన్లు ఏవి నిర్వహించవచ్చో తెలుసుకోవాలనే ఆసక్తి మీకు ఉంటే, మా అల్టిమేట్ సూట్తో సహా ఇతర సబ్స్ట్రింగ్ సాధనాలను చూడండి. లేదా ఇంకా మంచిది, దిగువ మూల్యాంకన సంస్కరణను డౌన్లోడ్ చేసి, ఒకసారి ప్రయత్నించండి!
అలా కనుగొని భర్తీ చేయండిExcelలో ఒకేసారి బహుళ పదాలు మరియు అక్షరాలు. నేను చదివినందుకు ధన్యవాదాలు మరియు వచ్చే వారం మా బ్లాగ్లో మిమ్మల్ని చూడాలని ఆశిస్తున్నాను!
అందుబాటులో ఉన్న డౌన్లోడ్లు
Excel (.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 ఫంక్షన్ కేస్-సెన్సిటివ్ , అంటే మీరు పాత విలువలను ( old_text ) అసలు డేటాలో కనిపించే అదే అక్షరాల కేసులో టైప్ చేయాలి.
ఇది ఎంత సులభమో, ఈ పద్ధతిలో ఒక ముఖ్యమైన లోపం ఉంది - మీరు భర్తీ చేయడానికి డజన్ల కొద్దీ ఐటెమ్లను కలిగి ఉన్నప్పుడు, సమూహ ఫంక్షన్లను నిర్వహించడం చాలా కష్టం అవుతుంది.
ప్రయోజనాలు : సులభం - అమలు చేయడానికి; అన్ని Excel సంస్కరణల్లో మద్దతు ఉంది
లోపాలు : పరిమిత సంఖ్యలో కనుగొనడం/భర్తీ చేయడం విలువల కోసం ఉపయోగించడం ఉత్తమం
XLOOKUPతో బహుళ ఎంట్రీలను శోధించండి మరియు భర్తీ చేయండి
<0 మీరు మొత్తం సెల్ కంటెంట్ ని భర్తీ చేయాలని చూస్తున్నప్పుడు, దాని భాగం కాకుండా, XLOOKUP ఫంక్షన్ ఉపయోగపడుతుంది.మనంమీరు కాలమ్ Aలో దేశాల జాబితాను కలిగి ఉన్నారని మరియు అన్ని సంక్షిప్తాలను సంబంధిత పూర్తి పేర్లతో భర్తీ చేయాలని లక్ష్యంగా పెట్టుకున్నారని చెప్పండి. మునుపటి ఉదాహరణలో వలె, మీరు "కనుగొను" మరియు "రిప్లేస్ చేయి" అంశాలను ప్రత్యేక నిలువు వరుసలలో (వరుసగా D మరియు E) ఇన్పుట్ చేయడంతో ప్రారంభించి, ఆపై ఈ సూత్రాన్ని B2లో నమోదు చేయండి:
=XLOOKUP(A2, $D$2:$D$4, $E$2:$E$4, A2)
Excel భాష నుండి మానవ భాషలోకి అనువదించబడింది, ఫార్ములా ఏమి చేస్తుందో ఇక్కడ ఉంది:
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 రెండింటినీ ఫ్రాన్స్ తో భర్తీ చేస్తుంది.
ప్రయోజనాలు : సాధారణ ఫంక్షన్ల అసాధారణ వినియోగం; అన్ని ఎక్సెల్ వెర్షన్లలో పనిచేస్తుంది
డ్రాబ్యాక్లు : సెల్ స్థాయిలో పని చేస్తుంది, సెల్ కంటెంట్లలో కొంత భాగాన్ని భర్తీ చేయలేము
పునరావృత LAMBDA ఫంక్షన్ని ఉపయోగించి బహుళ రీప్లేస్ చేయడం
Microsoft కోసం365 మంది సబ్స్క్రైబర్లు, సాంప్రదాయ ఫార్ములా లాంగ్వేజ్ని ఉపయోగించి కస్టమ్ ఫంక్షన్లను సృష్టించడానికి అనుమతించే ప్రత్యేక ఫంక్షన్ను Excel అందిస్తుంది. అవును, నేను LAMBDA గురించి మాట్లాడుతున్నాను. ఈ పద్ధతి యొక్క అందం ఏమిటంటే ఇది చాలా పొడవైన మరియు సంక్లిష్టమైన సూత్రాన్ని చాలా కాంపాక్ట్ మరియు సరళమైనదిగా మార్చగలదు. అంతేకాకుండా, Excelలో లేని మీ స్వంత ఫంక్షన్లను సృష్టించడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది, ఇది ఇంతకు ముందు VBAతో మాత్రమే సాధ్యమైంది.
కస్టమ్ LAMBDA ఫంక్షన్లను సృష్టించడం మరియు ఉపయోగించడం గురించి వివరణాత్మక సమాచారం కోసం, దయచేసి ఈ ట్యుటోరియల్ని చూడండి: ఎలా Excelలో LAMBDA ఫంక్షన్లను వ్రాయడానికి. ఇక్కడ, మేము కొన్ని ఆచరణాత్మక ఉదాహరణలను చర్చిస్తాము.
ప్రయోజనాలు : భర్తీ జతల సంఖ్యతో సంబంధం లేకుండా, ఫలితం సొగసైనది మరియు ఉపయోగించడానికి అద్భుతంగా సులభం. లోపాలు : Excel 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 ఫంక్షన్ పాత జాబితా ఖాళీగా లేదా (పాత"") లేదో తనిఖీ చేస్తుంది. TRUE అయితే, MultiReplace ఫంక్షన్ అంటారు. FALSE అయితే, ఫంక్షన్ వచనం దాని ప్రస్తుత రూపాన్ని అందిస్తుంది మరియు నిష్క్రమిస్తుంది.
రెండవ ఫార్ములా రివర్స్ లాజిక్ను ఉపయోగిస్తుంది: పాత ఖాళీగా ఉంటే (old=""), ఆపై <1ని తిరిగి ఇవ్వండి>టెక్స్ట్ మరియు నిష్క్రమించు; లేకుంటే MultiReplace కి కాల్ చేయండి.
చమత్కారమైన భాగం పూర్తయింది! దిగువ స్క్రీన్షాట్లో చూపిన విధంగా నేమ్ మేనేజర్లో మల్టీ రీప్లేస్ ఫంక్షన్కు పేరు పెట్టడం మీకు మిగిలి ఉంది. వివరణాత్మక మార్గదర్శకాల కోసం, దయచేసి LAMBDA ఫంక్షన్కు ఎలా పేరు పెట్టాలో చూడండి.
ఫంక్షన్కు పేరు వచ్చిన తర్వాత, మీరు దీన్ని ఇతర ఇన్బిల్ట్ ఫంక్షన్లానే ఉపయోగించవచ్చు.
మీరు ఎంచుకున్న రెండు ఫార్ములా వైవిధ్యాలలో ఏది, తుది వినియోగదారు దృక్కోణం నుండి, సింటాక్స్ ఇలా ఉంటుంది:
MultiReplace(text, old, new)ఎక్కడ:
- వచనం - మూల డేటా
- పాత - కనుగొనవలసిన విలువలు
- కొత్త - భర్తీ చేయవలసిన విలువలు
మునుపటి ఉదాహరణను కొంచెం ముందుకు తీసుకుంటే, దేశం సంక్షిప్తాలను మాత్రమే కాకుండా రాష్ట్ర సంక్షిప్తాలను కూడా భర్తీ చేద్దాం. దీని కోసం, D2లో ప్రారంభమయ్యే కాలమ్లో సంక్షిప్తాలు ( పాత విలువలు) మరియు E2లో ప్రారంభమయ్యే కాలమ్లో పూర్తి పేర్లను ( కొత్త విలువలు) టైప్ చేయండి.
లో B2, MultiReplace ఫంక్షన్ను నమోదు చేయండి:
=MultiReplace(A2:A10, D2, E2)
Enter నొక్కండి మరియు ఫలితాలను ఆస్వాదించండి :)
ఈ ఫార్ములా ఎలా పని చేస్తుంది
సూత్రాన్ని అర్థం చేసుకోవడానికి క్లూ రికర్షన్ను అర్థం చేసుకోవడం. ఇది సంక్లిష్టంగా అనిపించవచ్చు, కానీ సూత్రం చాలా సులభం. ప్రతి తోపునరావృతం, ఒక పునరావృత ఫంక్షన్ పెద్ద సమస్య యొక్క ఒక చిన్న ఉదాహరణను పరిష్కరిస్తుంది. మా విషయంలో, MultiReplace ఫంక్షన్ పాత మరియు కొత్త విలువల ద్వారా లూప్ అవుతుంది మరియు ప్రతి లూప్తో ఒక రీప్లేస్మెంట్ని నిర్వహిస్తుంది:
MultiReplace (SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0))
సమూహ SUBSTITUTE ఫంక్షన్ల వలె, మునుపటి SUBSTITUTE యొక్క ఫలితం తదుపరి SUBSTITUTE కోసం టెక్స్ట్ పరామితి అవుతుంది. మరో మాటలో చెప్పాలంటే, MultiReplace యొక్క ప్రతి తదుపరి కాల్లో, SUBSTITUTE ఫంక్షన్ అసలు టెక్స్ట్ స్ట్రింగ్ని కాకుండా మునుపటి కాల్ అవుట్పుట్ను ప్రాసెస్ చేస్తుంది.
<1లో అన్ని అంశాలను నిర్వహించడానికి>పాత జాబితా, మేము టాప్మోస్ట్ సెల్తో ప్రారంభిస్తాము మరియు ప్రతి పరస్పర చర్యతో 1 అడ్డు వరుసను క్రిందికి తరలించడానికి OFFSET ఫంక్షన్ను ఉపయోగిస్తాము:
OFFSET(old, 1, 0)
కి కూడా అదే జరుగుతుంది new list:
OFFSET(new, 1, 0)
నిర్మూలన కాల్లు శాశ్వతంగా కొనసాగకుండా నిరోధించడానికి నిష్క్రమణ పాయింట్ ని అందించడం చాలా ముఖ్యమైన విషయం. ఇది IF ఫంక్షన్ సహాయంతో చేయబడుతుంది - పాత సెల్ ఖాళీగా ఉంటే, ఫంక్షన్ టెక్స్ట్ దాని ప్రస్తుత రూపాన్ని అందిస్తుంది మరియు నిష్క్రమిస్తుంది:
=LAMBDA(text, old, new, IF(old="", text, MultiReplace(…)))
లేదా
=LAMBDA(text, old, new, IF(old"", MultiReplace(…), text))
ఉదాహరణ 2. Excelలో బహుళ అక్షరాలను భర్తీ చేయండి
సూత్రంగా, మునుపటి ఉదాహరణలో చర్చించిన 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 - అసలు స్ట్రింగ్లు 17> పాత - శోధించాల్సిన అక్షరాలు
- కొత్త -తో భర్తీ చేయాల్సిన అక్షరాలు
దీనికి ఫీల్డ్ టెస్ట్ ఇవ్వడానికి, దిగుమతి చేసుకున్న డేటాపై తరచుగా నిర్వహించబడే పనిని చేద్దాం - స్మార్ట్ కోట్లు మరియు స్మార్ట్ అపాస్ట్రోఫీలను స్ట్రెయిట్ కోట్లు మరియు స్ట్రెయిట్ అపాస్ట్రోఫీలతో భర్తీ చేయండి.
మొదట, మేము స్మార్ట్ కోట్లు మరియు స్మార్ట్ అపాస్ట్రోఫీని D2, స్ట్రెయిట్ కోట్లు మరియు స్ట్రెయిట్ అపాస్ట్రోఫీని E2లో ఇన్పుట్ చేస్తాము. , మెరుగైన రీడబిలిటీ కోసం అక్షరాలను ఖాళీలతో వేరు చేయడం. (మేము రెండు సెల్లలో ఒకే డీలిమిటర్ని ఉపయోగిస్తున్నందున, అది ఫలితంపై ఎలాంటి ప్రభావం చూపదు - Excel ఖాళీని ఖాళీతో భర్తీ చేస్తుంది.)
ఆ తర్వాత, మేము ఈ సూత్రాన్ని B2లో నమోదు చేస్తాము:
=ReplaceChars(A2:A4, D2, E2)
మరియు మేము వెతుకుతున్న ఫలితాలను సరిగ్గా పొందండి:
సూత్రంలో అక్షరాలను నేరుగా టైప్ చేయడం కూడా సాధ్యమే. మా విషయంలో, ఈ క్రింది సూటి కోట్లను "నకిలీ" చేయాలని గుర్తుంచుకోండి:
=ReplaceChars(A2:A4, "“ ” ’", """ "" '")
ఈ ఫార్ములా ఎలా పని చేస్తుంది
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 స్ట్రింగ్ని మూల్యాంకనం చేస్తుంది . ఇది ఖాళీగా లేకుంటే, ఫంక్షన్ స్వయంగా కాల్ చేస్తుంది. చివరి అక్షరం భర్తీ చేయబడిన వెంటనే, పునరావృత ప్రక్రియ ముగుస్తుంది, ఫార్ములా టెక్స్ట్ దాని ప్రస్తుత రూపాన్ని అందిస్తుంది మరియు నిష్క్రమిస్తుంది.
గమనిక. మా ప్రధాన సూత్రాలలో ఉపయోగించిన SUBSTITUTE ఫంక్షన్ కేస్-సెన్సిటివ్ కాబట్టి, Lambdas ( MultiReplace మరియు ReplaceChars ) రెండూ పెద్ద అక్షరాలు మరియు చిన్న అక్షరాలను వేర్వేరు అక్షరాలుగా పరిగణిస్తాయి.
మాస్ కనుగొని UDFతో భర్తీ చేయండి
ఒకవేళ LAMBDA ఫంక్షన్ మీ Excelలో అందుబాటులో లేకుంటే, మీరు VBAని ఉపయోగించి సాంప్రదాయ పద్ధతిలో బహుళ-భర్తీ కోసం వినియోగదారు నిర్వచించిన ఫంక్షన్ను వ్రాయవచ్చు.
LAMBDA-నిర్వచించిన MultiReplace ఫంక్షన్ నుండి UDFని వేరు చేయడానికి, మేము దానికి భిన్నంగా పేరు పెట్టబోతున్నాము, MassReplace అని చెప్పండి. ఫంక్షన్ యొక్క కోడ్ క్రింది విధంగా ఉంది:
ఫంక్షన్ మాస్ రీప్లేస్ (ఇన్పుట్ఆర్ంగ్ రేంజ్, ఫైండ్ఆర్ంగ్ రేంజ్, రీప్లేస్ఆర్ంగ్ రేంజ్) వేరియంట్ () డిమ్arRes() ఫలితాలను నిల్వ చేయడానికి వేరియంట్ 'శ్రేణి వలె మసకబారిన arSearchReplace(), sTmp కనుగొను/భర్తీ జంటలను ఎక్కడ నిల్వ చేయాలో స్ట్రింగ్ 'శ్రేణి వలె, తాత్కాలిక స్ట్రింగ్ డిమ్ iFindCurRow, cntFindRows లాంగ్ 'సెర్చ్రిప్లేస్ శ్రేణి యొక్క ప్రస్తుత వరుస సూచిక, కౌంట్ వరుసల మసక iInputCurRow, iInputCurCol, cntInputRows, cntInputCols సోర్స్ పరిధిలోని ప్రస్తుత వరుస యొక్క పొడవైన 'సూచికగా, మూల పరిధిలోని ప్రస్తుత నిలువు వరుస యొక్క సూచిక, అడ్డు వరుసల సంఖ్య, నిలువు వరుసల సంఖ్య cntInputRows = InputRng.Rows.Count cntInputRng.Rows నిలువు వరుసలు iFindCurRow, 1) = FindRng.Cells(iFindCurRow, 1).విలువ arSearchReplace(iFindCurRow, 2) = ReplaceRng.Cells(iFindCurRow, 1) విలువ తదుపరి 'ఐఇన్పుట్ కోసం iInput 1CurRow కోసం సోర్స్ రేంజ్లో శోధించడం మరియు భర్తీ చేయడం 1 నుండి cntInputCols sTm వరకు p = InputRng.Cells(iInputRng.Cells(iInputCurRow, iInputCurCol).విలువ 'iFindCurRow కోసం ప్రతి సెల్లోని అన్ని ఫైండ్/రీప్లేస్ జతలను భర్తీ చేయడం = 1 to cntFindRows sTmp = రీప్లేస్(sTmp, arSearchReplace(iFindCurRow, 1) తదుపరిది (iInputCurRow, iInputCurCol) = sTmp తదుపరి తదుపరి MassReplace = arRes ముగింపు ఫంక్షన్LAMBDA-నిర్వచించిన ఫంక్షన్ల వలె, UDFలు వర్క్బుక్-వైడ్ . అంటే ది