સામગ્રીઓનું કોષ્ટક
આ ટ્યુટોરીયલમાં, અમે બહુવિધ શબ્દો, શબ્દમાળાઓ અથવા વ્યક્તિગત અક્ષરોને શોધવા અને બદલવાની ઘણી રીતો જોઈશું, જેથી તમે તમારી જરૂરિયાતોને અનુરૂપ હોય તે પસંદ કરી શકો.
લોકો સામાન્ય રીતે Excel માં કેવી રીતે શોધે છે? મોટે ભાગે, Find & સુવિધાને બદલો, જે એકલ મૂલ્યો માટે સારું કામ કરે છે. પરંતુ જો તમારી પાસે દસ અથવા તો સેંકડો વસ્તુઓ બદલવા માટે હોય તો શું? ચોક્કસ, કોઈ પણ તે બધા રિપ્લેસમેન્ટને એક પછી એક જાતે કરવા માંગશે નહીં, અને પછી જ્યારે ડેટા બદલાય ત્યારે તે ફરીથી કરો. સદભાગ્યે, એક્સેલમાં માસ રિપ્લેસ કરવા માટે કેટલીક વધુ અસરકારક પદ્ધતિઓ છે, અને અમે તે દરેકની વિગતવાર તપાસ કરીશું.
નેસ્ટેડ સબસ્ટીટ્યુટ સાથે બહુવિધ મૂલ્યો શોધો અને બદલો
એક્સેલમાં બહુવિધ એન્ટ્રીઓ શોધવા અને બદલવાની સૌથી સહેલી રીત એ સબસ્ટીટ્યુટ ફંક્શનનો ઉપયોગ કરીને છે.
સૂત્રનો તર્ક ખૂબ જ સરળ છે: તમે જૂના મૂલ્યને નવી સાથે બદલવા માટે થોડા વ્યક્તિગત કાર્યો લખો છો. . અને પછી, તમે તે ફંક્શન્સને એક બીજામાં નેસ્ટ કરો, જેથી દરેક અનુગામી 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 કોડ કેવી રીતે દાખલ કરવો તેમાં વર્ણવેલ પગલાંને અનુસરો.
એકવાર કોડ તમારી વર્કબુકમાં ઉમેરાઈ જાય, ફંક્શન સૂત્ર ઇન્ટેલિસન્સમાં દેખાશે - માત્ર ફંક્શનનું નામ, દલીલો નહીં! તેમ છતાં, હું માનું છું કે વાક્યરચના યાદ રાખવી એ કોઈ મોટી વાત નથી:
માસ રિપ્લેસ(ઇનપુટ_રેંજ, ફાઇન્ડ_રેન્જ, રિપ્લેસ_રેન્જ)ક્યાં:
- ઇનપુટ_રેન્જ - સ્ત્રોત શ્રેણી જ્યાં તમે મૂલ્યો બદલવા માંગો છો.
- Find_range - અક્ષરો, શબ્દમાળાઓ અથવા શબ્દો શોધવા માટે.
- Replace_range - અક્ષરો, શબ્દમાળાઓ, અથવા શબ્દો સાથે બદલવા માટે.
એક્સેલ 365 માં, ડાયનેમિક એરેના સમર્થનને કારણે, આ એક સામાન્ય ફોર્મ્યુલા તરીકે કામ કરે છે, જેને ફક્ત ટોચના કોષ (B2) માં દાખલ કરવાની જરૂર છે:
=MassReplace(A2:A10, D2:D4, E2:E4)
પ્રી-ડાયનેમિક એક્સેલમાં, આ જૂની-શૈલીના CSE એરે ફોર્મ્યુલા તરીકે કામ કરે છે: તમે સમગ્ર સ્ત્રોત શ્રેણી (B2:B10) પસંદ કરો, ટાઇપ કરો ફોર્મ્યુલા, અને તેને પૂર્ણ કરવા માટે એકસાથે Ctrl + Shift + Enter કી દબાવો.
ફાયદા : Excel 2019 માં કસ્ટમ LAMBDA ફંક્શનનો યોગ્ય વિકલ્પ , એક્સેલ 2016 અને પહેલાનાં સંસ્કરણો
ખામીઓ : વર્કબુકને મેક્રો-સક્ષમ .xlsm ફાઇલ તરીકે સાચવવી આવશ્યક છે
VBA મેક્રો સાથે એક્સેલમાં બલ્ક બદલો
જો તમને ઓટો ગમે છે મેક્રો સાથે સામાન્ય કાર્યોનું સમાગમ, પછી તમેશ્રેણીમાં બહુવિધ મૂલ્યો શોધવા અને બદલવા માટે નીચેના VBA કોડનો ઉપયોગ કરી શકે છે.
Sub BulkReplace() રેન્જ તરીકે મંદ Rng, રેન્જ તરીકે SourceRng, ભૂલ પર રેન્જ તરીકે ReplaceRng નેક્સ્ટ સેટ SourceRng = Application.InputBox( "સ્રોત ડેટા: " , "જથ્થાબંધ બદલો" , એપ્લિકેશન.પસંદગી.સરનામું, પ્રકાર :=8) ભૂલ.જો SourceRng કંઈ નથી તો સાફ કરો પછી ReplaceRng = Application.InputBox સેટ કરો("રેંજ બદલો:" , "બલ્ક બદલો" , પ્રકાર :=8) Err.Clear જો ReplaceRng કંઈ નથી તો પછી Application.ScreenUpdating = False દરેક Rng માટે ReplaceRng.Columns(1).સેલ્સ SourceRng.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).આગલું મૂલ્ય Application.ScreenUpdating = True End If End જો End સબમેક્રોનો તરત જ ઉપયોગ કરવા માટે, તમે કોડ ધરાવતી અમારી સેમ્પલ વર્કબુક ડાઉનલોડ કરી શકો છો. અથવા તમે તમારી પોતાની વર્કબુકમાં કોડ દાખલ કરી શકો છો.
મેક્રોનો ઉપયોગ કેવી રીતે કરવો
મેક્રો ચલાવતા પહેલા, નીચેની ઈમેજમાં બતાવ્યા પ્રમાણે જૂના અને નવા મૂલ્યોને નજીકના બે કૉલમમાં ટાઈપ કરો ( C2:D4).
અને પછી, તમારો સ્રોત ડેટા પસંદ કરો, Alt + F8 દબાવો, BulkReplace મેક્રો પસંદ કરો અને ચલાવો પર ક્લિક કરો.
<0જેમ કે સ્રોત રેજ પહેલાથી પસંદ કરેલ છે, ફક્ત સંદર્ભને ચકાસો, અને ઠીક ક્લિક કરો:
તે પછી, રિપ્લેસ રેન્જ પસંદ કરો, અને ઓકે ક્લિક કરો:
પૂર્ણ!
ફાયદા : એકવાર સેટઅપ કરો, કોઈપણ સમયે ફરીથી ઉપયોગ કરો
ખામીઓ : મેક્રોને દરેક ડેટા સાથે ચલાવવાની જરૂર છેચેન્જ
સબસ્ટ્રિંગ ટૂલ વડે એક્સેલમાં બહુવિધ શોધો અને બદલો
પહેલા જ ઉદાહરણમાં, મેં ઉલ્લેખ કર્યો છે કે નેસ્ટેડ સબસ્ટીટ્યુટ એ એક્સેલમાં બહુવિધ મૂલ્યોને બદલવાની સૌથી સરળ રીત છે. હું કબૂલ કરું છું કે હું ખોટો હતો. અમારું અલ્ટીમેટ સ્યુટ વસ્તુઓને વધુ સરળ બનાવે છે!
તમારી વર્કશીટમાં સામૂહિક રીતે બદલવા માટે, Ablebits Data ટેબ પર જાઓ અને સબસ્ટ્રિંગ ટૂલ્સ > પર ક્લિક કરો. સબસ્ટ્રિંગ્સ બદલો .
સબસ્ટ્રિંગ્સ બદલો સંવાદ બોક્સ તમને સ્રોત શ્રેણી અને <1 વ્યાખ્યાયિત કરવાનું કહેશે>સબસ્ટ્રિંગ રેન્જ.
બે રેન્જ પસંદ કરીને, બદલો બટનને ક્લિક કરો અને જમણી બાજુએ દાખલ કરેલ નવી કૉલમમાં પરિણામો શોધો મૂળ ડેટાનો. હા, તે એટલું સરળ છે!
ટીપ. બદલો પર ક્લિક કરતા પહેલા, તમારે ધ્યાનમાં લેવા જેવી એક અગત્યની બાબત છે - કેસ-સેન્સિટિવ બોક્સ. જો તમે અપરકેસ અને લોઅરકેસ અક્ષરોને અલગ-અલગ અક્ષરો તરીકે હેન્ડલ કરવા માંગતા હોવ તો તેને પસંદ કરવાની ખાતરી કરો. આ ઉદાહરણમાં, અમે આ વિકલ્પને ટિક કરીએ છીએ કારણ કે અમે ફક્ત કેપિટલાઇઝ્ડ સ્ટ્રીંગ્સને બદલવા માંગીએ છીએ અને "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 ફંક્શન કેસ-સેન્સિટિવ છે, એટલે કે તમારે જૂના મૂલ્યો ( જૂના_ટેક્સ્ટ ) એ જ અક્ષરના કેસમાં લખવા જોઈએ જેમ કે તે મૂળ ડેટામાં દેખાય છે.
તે શક્ય હોય તેટલું સરળ હોય, આ પદ્ધતિમાં નોંધપાત્ર ખામી છે - જ્યારે તમારી પાસે બદલવા માટે ડઝનેક આઇટમ્સ હોય, ત્યારે નેસ્ટેડ કાર્યોનું સંચાલન કરવું ખૂબ મુશ્કેલ બની જાય છે.
ફાયદાઓ : સરળ -અમલમાં મુકવું; તમામ એક્સેલ વર્ઝનમાં સમર્થિત
ખામીઓ : મર્યાદિત સંખ્યામાં મૂલ્યો શોધવા/બદલો માટે ઉપયોગમાં લેવા માટે શ્રેષ્ઠ
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 ફંક્શન માત્ર એક્સેલ 365 માં જ ઉપલબ્ધ હોવાથી, ઉપરોક્ત ફોર્મ્યુલા પહેલાની આવૃત્તિઓમાં કામ કરશે નહીં. જો કે, તમે IFERROR અથવા IFNA અને VLOOKUP:
=IFNA(VLOOKUP(A2, $D$2:$E$4, 2, FALSE), A2)
નોંધના સંયોજન સાથે સરળતાથી આ વર્તનની નકલ કરી શકો છો. SUBSTITUTE થી વિપરીત, XLOOKUP અને VLOOKUP ફંક્શન્સ કેસ-સેન્સિટિવ નથી , એટલે કે તેઓ લેટર કેસને અવગણીને લુકઅપ મૂલ્યો શોધે છે. દાખલા તરીકે, અમારું સૂત્ર FR અને fr બંનેને France સાથે બદલશે.
લાભ : સામાન્ય કાર્યોનો અસામાન્ય ઉપયોગ; તમામ એક્સેલ વર્ઝનમાં કામ કરે છે
ખામીઓ : સેલ લેવલ પર કામ કરે છે, સેલની સામગ્રીના ભાગને બદલી શકતા નથી
પુનરાવર્તિત LAMBDA ફંક્શનનો ઉપયોગ કરીને બહુવિધ રિપ્લેસ
માઇક્રોસોફ્ટ માટે365 સબ્સ્ક્રાઇબર્સ, એક્સેલ એક વિશિષ્ટ કાર્ય પ્રદાન કરે છે જે પરંપરાગત ફોર્મ્યુલા ભાષાનો ઉપયોગ કરીને કસ્ટમ કાર્યો બનાવવાની મંજૂરી આપે છે. હા, હું LAMBDA વિશે વાત કરી રહ્યો છું. આ પદ્ધતિની સુંદરતા એ છે કે તે ખૂબ જ લાંબી અને જટિલ ફોર્મ્યુલાને ખૂબ જ કોમ્પેક્ટ અને સરળ ફોર્મ્યુલામાં રૂપાંતરિત કરી શકે છે. તદુપરાંત, તે તમને તમારા પોતાના ફંક્શન્સ બનાવવા દે છે જે એક્સેલમાં અસ્તિત્વમાં નથી, કંઈક જે પહેલા માત્ર 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, કાર્ય ટેક્સ્ટ તેને તેનું વર્તમાન સ્વરૂપ પરત કરે છે અને બહાર નીકળે છે.
બીજું સૂત્ર વિપરીત તર્કનો ઉપયોગ કરે છે: જો જૂનું ખાલી હોય (જૂના=""), તો પછી <1 પરત કરો>ટેક્સ્ટ અને બહાર નીકળો; અન્યથા મલ્ટિરિપ્લેસ ને કૉલ કરો.
સૌથી મુશ્કેલ ભાગ પૂર્ણ થાય છે! તમારા માટે જે કરવાનું બાકી છે તે નીચે સ્ક્રીનશોટમાં બતાવ્યા પ્રમાણે નેમ મેનેજરમાં મલ્ટી રિપ્લેસ ફંક્શનને નામ આપવાનું છે. વિગતવાર માર્ગદર્શિકા માટે, કૃપા કરીને LAMBDA ફંક્શનને કેવી રીતે નામ આપવું તે જુઓ.
એકવાર ફંક્શનને નામ મળી જાય, તમે તેનો ઉપયોગ અન્ય કોઈપણ ઇનબિલ્ટ ફંક્શનની જેમ જ કરી શકો છો.
તમે બે ફોર્મ્યુલા ભિન્નતાઓમાંથી જે પણ પસંદ કરો છો, અંતિમ-વપરાશકર્તાના પરિપ્રેક્ષ્યમાં, વાક્યરચના આના જેટલી સરળ છે:
MultiReplace(ટેક્સ્ટ, જૂનું, નવું)ક્યાં:
- ટેક્સ્ટ - સ્ત્રોત ડેટા
- જૂનો - શોધવા માટેના મૂલ્યો
- નવું - જેની સાથે બદલવાના મૂલ્યો
અગાઉના ઉદાહરણને થોડું આગળ લઈ જઈએ, ચાલો માત્ર દેશના સંક્ષેપને જ નહીં પરંતુ રાજ્યના સંક્ષેપોને પણ બદલીએ. આ માટે, D2 થી શરૂ થતી કૉલમ Dમાં સંક્ષેપ ( જૂની મૂલ્યો) અને E2 થી શરૂ થતી કૉલમ Eમાં સંપૂર્ણ નામો ( નવી મૂલ્યો) ટાઈપ કરો.
માં 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 માટે text પરિમાણ બની જાય છે. બીજા શબ્દોમાં કહીએ તો, MultiReplace ના દરેક અનુગામી કૉલ પર, SUBSTITUTE ફંક્શન મૂળ ટેક્સ્ટ સ્ટ્રિંગ પર નહીં, પરંતુ અગાઉના કૉલના આઉટપુટ પર પ્રક્રિયા કરે છે.
<1 પરની બધી વસ્તુઓને હેન્ડલ કરવા માટે>જૂની સૂચિ, અમે ટોચના કોષથી પ્રારંભ કરીએ છીએ, અને દરેક ક્રિયાપ્રતિક્રિયા સાથે 1 પંક્તિને નીચે ખસેડવા માટે OFFSET ફંક્શનનો ઉપયોગ કરીએ છીએ:
OFFSET(old, 1, 0)
તે જ માટે થાય છે. નવી યાદી:
OFFSET(new, 1, 0)
નિર્ણાયક બાબત એ છે કે પુનરાવર્તિત કૉલ્સને હંમેશ માટે આગળ વધતા અટકાવવા માટે એક્ઝિટનો બિંદુ પ્રદાન કરવો. તે IF ફંક્શનની મદદથી કરવામાં આવે છે - જો જૂનો સેલ ખાલી હોય, તો ફંક્શન ટેક્સ્ટ તેનું વર્તમાન સ્વરૂપ પરત કરે છે અને બહાર નીકળે છે:
=LAMBDA(text, old, new, IF(old="", text, MultiReplace(…)))
અથવા
=LAMBDA(text, old, new, IF(old"", MultiReplace(…), text))
ઉદાહરણ 2. એક્સેલમાં બહુવિધ અક્ષરોને બદલો
સિદ્ધાંતમાં, અગાઉના ઉદાહરણમાં ચર્ચા કરેલ મલ્ટી રીપ્લેસ ફંક્શન વ્યક્તિગત અક્ષરોને પણ હેન્ડલ કરો, જો કે દરેક જૂના અને નવા અક્ષરોને અલગ કોષમાં દાખલ કરવામાં આવ્યા હોય, ઉપરોક્ત સ્ક્રીનશૉટ્સમાંના સંક્ષિપ્ત અને સંપૂર્ણ નામોની જેમ.
જો તમે જૂનાને ઇનપુટ કરવા માંગો છોએક કોષમાં અક્ષરો અને બીજા કોષમાં નવા અક્ષરો, અથવા તેમને સીધા જ ફોર્મ્યુલામાં ટાઇપ કરો, પછી તમે આમાંથી એક ફોર્મ્યુલાનો ઉપયોગ કરીને 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 જૂના_અક્ષરો અને નવા_અક્ષરો શબ્દમાળાઓ દ્વારા કાર્ય ચક્ર અને ડાબી બાજુના પ્રથમ અક્ષરથી શરૂ થતાં એક સમયે એક રિપ્લેસમેન્ટ કરે છે. આ ભાગ SUBSTITUTE ફંક્શન દ્વારા કરવામાં આવે છે:
SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars))
દરેક પુનરાવર્તન સાથે, RIGHT ફંક્શન જૂના_અક્ષરો અને બંનેની ડાબી બાજુથી એક અક્ષરને દૂર કરે છે. 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 ) અપરકેસ અને લોઅરકેસ અક્ષરોને અલગ-અલગ અક્ષરો માને છે.
યુડીએફ સાથે સામૂહિક શોધો અને બદલો
જો તમારા એક્સેલમાં LAMBDA ફંક્શન ઉપલબ્ધ ન હોય, તો તમે VBA નો ઉપયોગ કરીને પરંપરાગત રીતે મલ્ટિ-રિપ્લેસ માટે વપરાશકર્તા-વ્યાખ્યાયિત કાર્ય લખી શકો છો.
UDF ને LAMBDA-વ્યાખ્યાયિત MultiReplace ફંક્શનથી અલગ કરવા માટે, અમે તેને અલગ નામ આપવા જઈ રહ્યા છીએ, કહો MassReplace . ફંક્શનનો કોડ નીચે મુજબ છે:
ફંક્શન માસ રિપ્લેસ (રેન્જ તરીકે ઇનપુટઆરએનજી, રેન્જ તરીકે શોધો, રેંજ તરીકે આરએનજી બદલો) વેરિઅન્ટ તરીકે () ડિમપરિણામોને સંગ્રહિત કરવા માટે arRes() વેરિયન્ટ 'એરે તરીકે ડિમ arSearchReplace(), sTmp એઝ સ્ટ્રિંગ 'એરે જ્યાં શોધો/બદલો જોડીઓ સંગ્રહિત કરવા, અસ્થાયી સ્ટ્રિંગ ડિમ iFindCurRow, cntFindRows As long' ઇન્ડેક્સ, SearchReplace એરેની વર્તમાન પંક્તિની ગણતરી કરો. પંક્તિઓની મંદ iInputCurRow, iInputCurCol, cntInputRows, cntInputCols 'સ્રોત રેન્જમાં વર્તમાન પંક્તિની ઇન્ડેક્સ, સ્ત્રોત રેન્જમાં વર્તમાન કૉલમની અનુક્રમણિકા, પંક્તિઓની ગણતરી, કૉલમની ગણતરી cntInputRows = InputRng.InputRng.InputRng.InputRngCols = InputRng. .Columns.Count cntFindRows = FindRng.Rows.Count ReDim arRes(1 થી cntInputRows, 1 થી cntInputCols) રીડીમ arSearchReplace(1 થી cntFindRows, 1 થી 2) ' iFindsRow =CFindsRows માટે find/replace જોડીઓની એરે તૈયાર કરી રહ્યા છીએ iFindCurRow, 1) = FindRng.Cells(iFindCurRow, 1).Value arSearchReplace(iFindCurRow, 2) = ReplaceRng.Cells(iFindCurRow, 1). વેલ્યુ નેક્સ્ટ 'સર્ચ કરી રહ્યું છે અને iInCurnt to iCurputs = iInCurput માટે સ્ત્રોત શ્રેણીમાં બદલવું. 1 થી cntInputCols sTm p = InputRng.Cells(iInputCurRow, iInputCurCol). મૂલ્ય 'દરેક કોષમાં iFindCurRow = 1 માટે cntFindRows માટે sTmp = Replace(sTmp, arSearchReplace(iFindCurRow, 1), arSearch2, નેક્સ્ટ રીપ્લેસ, arSearch2 (iInputCurRow, iInputCurCol) = sTmp નેક્સ્ટ નેક્સ્ટ MassReplace = arRes એન્ડ ફંક્શનLAMBDA-વ્યાખ્યાયિત કાર્યોની જેમ, UDF એ વર્કબુક-વ્યાપી છે. તેનો અર્થ એ કે