අන්තර්ගත වගුව
මෙම ලිපියෙන්, ඔබ පෙළ තන්තුවකින් නිශ්චිත අක්ෂර මකන්නේ කෙසේද සහ සෛල කිහිපයකින් අනවශ්ය අක්ෂර එකවර ඉවත් කරන්නේ කෙසේදැයි ඉගෙන ගනු ඇත.
වෙනත් තැනක සිට Excel වෙත දත්ත ආයාත කරන විට, විශේෂ අක්ෂර රාශියක් ඔබේ වැඩ පත්රිකා වෙත ගමන් කළ හැකිය. ඊටත් වඩා බලාපොරොත්තු සුන් කරවන දෙය නම්, සමහර අක්ෂර අදෘශ්යමාන වන අතර, එය පෙළ නූල් වලට පෙර, පසු හෝ ඇතුළත අමතර සුදු ඉඩක් ඇති කරයි. මෙම නිබන්ධනය මෙම සියලු ගැටලු සඳහා විසඳුම් සපයන අතර, දත්ත සෛලයෙන් සෛලය හරහා ගොස් අනවශ්ය අක්ෂර අතින් ඉවත් කිරීමේ කරදර ඔබට ඉතිරි කරයි.
Excel සෛලයෙන් විශේෂ අක්ෂර ඉවත් කරන්න.
කොටුවකින් නිශ්චිත අක්ෂරයක් මැකීමට, එහි සරලම ආකාරයෙන් SUBSTITUTE ශ්රිතය භාවිතයෙන් හිස් තන්තුවකින් එය ප්රතිස්ථාපනය කරන්න:
SUBSTITUTE( සෛලය, char, "")උදාහරණයක් ලෙස, A2 වෙතින් ප්රශ්න ලකුණක් මුලිනුපුටා දැමීම සඳහා, B2 හි ඇති සූත්රය වන්නේ:
=SUBSTITUTE(A2, "?", "")
ඉවත් කිරීමට a ඔබගේ යතුරුපුවරුවේ නොමැති අක්ෂරය, ඔබට එය මුල් කොටුවෙන් සූත්රයට පිටපත් කර/ඇලවිය හැක.
උදාහරණයක් ලෙස, ඔබට ප්රතිලෝම ප්රශ්න ලකුණක් ඉවත් කළ හැකි ආකාරය මෙන්න:
=SUBSTITUTE(A2, "¿", "")
නමුත් අනවශ්ය අක්ෂරයක් නොපෙනෙන හෝ නිවැරදිව පිටපත් නොකරන්නේ නම්, ඔබ එය සූත්රයට දමන්නේ කෙසේද? සරලව, CODE ශ්රිතය භාවිතයෙන් එහි කේත අංකය සොයා ගන්න.
අපගේ නඩුවේදී, අනවශ්ය අක්ෂරය ("¿") A2 කොටුවේ අවසන් වරට පැමිණේ, එබැවින් අපි සංයෝජනයක් භාවිතා කරමු.191:
=CODE(RIGHT(A2))
ඔබට අක්ෂර කේතය ලැබුණු පසු, අනුරූප CHAR වෙත සේවය කරන්න. ඉහත සාමාන්ය සූත්රයට ක්රියා කරයි. අපගේ දත්ත කට්ටලය සඳහා, සූත්රය පහත පරිදි වේ:
=SUBSTITUTE(A2, CHAR(191),"")
සටහන. SUBSTITUTE ශ්රිතය කේස්-සංවේදී , එනම් එය කුඩා අකුරු සහ ලොකු අකුරු වෙනස් අක්ෂර ලෙස සලකයි. ඔබගේ අනවශ්ය චරිතය ලිපියක් නම් එය මතක තබා ගන්න.
තන්තුවෙන් අක්ෂර කිහිපයක් මකන්න
පෙර ලිපිවලින් එකක, අපි එක්සෙල්හි ආදේශක ශ්රිත කිහිපයක් එකින් එක කැදවාගෙන තන්තුවලින් නිශ්චිත අක්ෂර ඉවත් කරන්නේ කෙසේදැයි සොයා බැලුවෙමු. එකම ප්රවේශය එකවර අනවශ්ය අක්ෂර දෙකක් හෝ වැඩි ගණනක් ඉවත් කිරීමට භාවිතා කළ හැක:
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( cell , char1 , ""), char2 , ""), char3 , "")උදාහරණයක් ලෙස, A2 හි පෙළ තන්තුවකින් සාමාන්ය විශ්මය දනවන සහ ප්රශ්න ලකුණු මෙන්ම ප්රතිලෝම ඒවා ඉවත් කිරීමට, මෙම සූත්රය භාවිතා කරන්න:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "!", ""), "¡", ""), "?", ""), "¿", "")
චාර් ශ්රිතයේ ආධාරයෙන් එයම කළ හැක, එහිදී 161 යනු "¡" සඳහා අක්ෂර කේතය වන අතර 191 යනු "¿" සඳහා අක්ෂර කේතය වේ:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3, "!", ""), "?", ""), CHAR(161), ""), CHAR(191), "")
Nested SUBSTITUTE ශ්රිත සාධාරණ අක්ෂර සංඛ්යාවක් සඳහා හොඳින් ක්රියා කරයි, නමුත් ඔබට ඉවත් කිරීමට අක්ෂර දුසිම් ගණනක් තිබේ නම්, සූත්රය දිගු වැඩි වන අතර කළමනාකරණය කිරීමට අපහසු වේ. ඊළඟ උදාහරණය පෙන්නුම් කරන්නේ aවඩාත් සංයුක්ත සහ අලංකාර විසඳුමක්.
සියලු අනවශ්ය අක්ෂර එකවර ඉවත් කරන්න
විසඳුම ක්රියාත්මක වන්නේ Microsoft 365 සඳහා Excel හි පමණි
ඔබ දන්නා පරිදි, Excel 365 සතුව විශේෂ කාර්යයක් ඇති අතර එමඟින් පුනරාවර්තන ලෙස ගණනය කරන ඒවා ඇතුළුව ඔබේම කාර්යයන් නිර්මාණය කිරීමට ඔබට හැකියාව ලැබේ. මෙම නව ශ්රිතය LAMBDA ලෙස නම් කර ඇති අතර, ඉහත සම්බන්ධිත නිබන්ධනය තුළ ඔබට ඒ පිළිබඳ සම්පූර්ණ විස්තර සොයා ගත හැක. පහත, මම ප්රායෝගික උදාහරණ කිහිපයක් සමඟ සංකල්පය නිදර්ශනය කරමි.
අනවශ්ය අක්ෂර ඉවත් කිරීම සඳහා අභිරුචි LAMBDA ශ්රිතයක් පහත පරිදි වේ:
=LAMBDA(string, chars, IF(chars"", RemoveChars(SUBSTITUTE(string, LEFT(chars, 1), ""), RIGHT(chars, LEN(chars) -1)), string))
මෙම ශ්රිතය ඔබගේ වැඩ පත්රිකා වල භාවිතා කිරීමට හැකි වීම සඳහා, ඔබ එය මුලින්ම නම් කළ යුතුය. මේ සඳහා, නාම කළමනාකරු විවෘත කිරීමට Ctrl + F3 ඔබන්න, ඉන්පසු නව නමක් මේ ආකාරයට නිර්වචනය කරන්න:
- නම තුළ කොටුව, ශ්රිතයේ නම ඇතුළත් කරන්න: RemoveChars .
- පථය වැඩපොත ලෙස සකසන්න.
- වෙත යොමු කරයි කොටුව, ඉහත සූත්රය අලවන්න.
- විකල්ප වශයෙන්, අදහස් කොටුවේ පරාමිති විස්තරය ඇතුළු කරන්න. ඔබ කොටුවක සූත්රයක් ටයිප් කරන විට පරාමිති පෙන්වනු ඇත.
- ඔබගේ නව කාර්යය සුරැකීමට හරි ක්ලික් කරන්න.
සවිස්තරාත්මක උපදෙස් සඳහා, කරුණාකර බලන්න අභිරුචි LAMBDA ශ්රිතයක් නම් කරන්නේ කෙසේද.
ශ්රිතයට නමක් ලැබුණු පසු, ඔබට ඕනෑම ස්වදේශීය සූත්රයක් මෙන් එය යොමු කළ හැක.
පරිශීලකයාගේ දෘෂ්ටිකෝණයෙන් , අපගේ අභිරුචි ශ්රිතයේ වාක්ය ඛණ්ඩය වැනි සරල යමෙය:
RemoveChars(string, chars)කොතැනද:
- String - යනු මුල් තන්තුවයි, නැතහොත් තන්තුව අඩංගු කොටු/පරාසයට යොමුවකි( s).
- අකුරු - මැකීමට අක්ෂර. පෙළ තන්තුවකින් හෝ සෛල යොමුවකින් නිරූපණය කළ හැක.
පහසුව සඳහා, අපි D2 කියමු, සමහර කොටුවකට අනවශ්ය අක්ෂර ඇතුළත් කරමු. A2 වෙතින් එම අක්ෂර ඉවත් කිරීම සඳහා, සූත්රය වනුයේ:
=RemoveChars(A2, $D$2)
සූත්රය නිවැරදිව ක්රියා කිරීමට නම්, කරුණාකර පහත කරුණු කෙරෙහි අවධානය යොමු කරන්න:
- D2 , ඔබට හිස්තැන් ඉවත් කිරීමට අවශ්ය නම් මිස, අක්ෂර හිස්තැන් නොමැතිව ලැයිස්තුගත කර ඇත.
- විශේෂ අක්ෂර අඩංගු කොටුවේ ලිපිනය $ ලකුණ ($D$2) සමඟින් අගුලු දමා ඇත. පහත සෛල වෙත සූත්රය.
ඉන්පසු, අපි සරලව සූත්රය පහළට ඇද දමා D2 හි ලැයිස්තුගත කර ඇති සියලුම අක්ෂර A2 සෛල සිට A6 දක්වා මකා දමන්නෙමු:
තනි සූත්රයකින් බහු සෛල පිරිසිදු කිරීමට, 1 වැනි තර්කය සඳහා A2:A6 පරාසය සපයන්න:
=RemoveChars(A2:A6, D2)
සූත්රය ඇතුළත් කර ඇත්තේ ඉහළම කොටුවේ පමණක් බැවින්, සෛල ඛණ්ඩාංක අගුළු දැමීම ගැන ඔබ කරදර විය යුතු නැත - සාපේක්ෂ යොමුවක් (D2) මෙම අවස්ථාවෙහිදී හොඳින් ක්රියා කරයි. සහ ගතික අරා සඳහා සහය දැක්වීම හේතුවෙන්, සූත්රය ස්වයංක්රීයව සියලුම යොමු කළ කොටු තුළට ගලා යයි:
පෙර නිශ්චිත අක්ෂර කට්ටලයක් ඉවත් කිරීම
පෙර නිශ්චිත කට්ටලයක් මකා දැමීමට බහු සෛල වලින් අක්ෂර, ඔබට නිර්මාණය කළ හැකියතවත් LAMBDA ප්රධාන RemoveChars ශ්රිතය අමතා 2 වන පරාමිතියෙහි අනවශ්ය අක්ෂර සඳහන් කරයි. උදාහරණයක් ලෙස:
විශේෂ අක්ෂර මැකීමට, අපි RemoveSpecialChars :
=LAMBDA(string, RemoveChars(string, "?¿!¡*%#@^"))
වෙත අභිරුචි ශ්රිතයක් සාදා ඇත පෙළ තන්තු වලින් අංක ඉවත් කරන්න , අපි RemoveNumbers :
=LAMBDA(string, RemoveChars(string, "0123456789"))
ඉහත ශ්රිත දෙකම ඉතා පහසුයි ඒවා භාවිතා කිරීමට අවශ්ය වන්නේ එක් තර්කයක් පමණි - මුල් තන්තුව.
A2 වෙතින් විශේෂ අක්ෂර ඉවත් කිරීමට, සූත්රය වන්නේ:
=RemoveSpecialChars(A2)
සංඛ්යාත්මක අක්ෂර පමණක් මැකීමට:
=RemoveNumbers(A2)
මෙම ශ්රිතය ක්රියා කරන ආකාරය:
සාරයෙන්, RemoveChars ශ්රිතය chars ලැයිස්තුව හරහා ලූප් වන අතර වරකට එක් අක්ෂරයක් ඉවත් කරයි. එක් එක් පුනරාවර්තන ඇමතුමකට පෙර, IF ශ්රිතය ඉතිරි අක්ෂර පරීක්ෂා කරයි. chars තන්තුව හිස් නොවේ නම් (chars""), ශ්රිතය එයම කැඳවයි. අවසන් අක්ෂරය සැකසූ විගස, සූත්රය string එහි වත්මන් ස්වරූපය ආපසු ලබා දී පිටවෙයි.
විස්තරාත්මක සූත්රය බිඳ වැටීම සඳහා, අනවශ්ය අක්ෂර ඉවත් කිරීමට කරුණාකර Recursive LAMBDA බලන්න.
VBA සමඟින් විශේෂ අක්ෂර ඉවත් කරන්න
Functions Excel හි සියලුම අනුවාද වල ක්රියා කරයි
LAMBDA ශ්රිතය ඔබගේ Excel හි නොමැති නම්, කිසිවක් ඔබව වළක්වන්නේ නැත. VBA සමඟ සමාන කාර්යයක් නිර්මාණය කිරීමෙන්. පරිශීලක-නිර්වචනය කර ඇතශ්රිතය (UDF) ආකාර දෙකකින් ලිවිය හැක.
විශේෂ අක්ෂර මකා දැමීම සඳහා අභිරුචි ශ්රිතය ප්රත්යාවර්තී :
මෙම කේතය ඉහත සාකච්ඡා කර ඇති LAMBDA ශ්රිතයේ තර්කනය අනුකරණය කරයි.
ශ්රිතය RemoveUnwantedChars(str String ලෙස , අක්ෂර තන්තුව ලෙස ) නම් ( "" අක්ෂර) එවිට str = ප්රතිස්ථාපනය (str, වම(අකුරු, 1), "" ) අකුරු = දකුණ(අකුරු, ලෙන්(අක්ෂ) - 1) RemoveUnwantedChars = RemoveUnwantedChars(str, chars) වෙනත් RemoveUnwantedChars = str End If End Functionවිශේෂ අක්ෂර ඉවත් කිරීමට අභිරුචි ශ්රිතය ප්රත්යාවර්තී නොවන :
මෙහි, අපි 1 සිට අනවශ්ය අක්ෂර හරහා චක්රීය කරමු. Len(chars) සහ මුල් තන්තුවේ ඇති ඒවා කිසිවක් නොමැතිව ප්රතිස්ථාපනය කරන්න. MID ශ්රිතය අනවශ්ය අක්ෂර එකින් එක ඇද ඒවා ප්රතිස්ථාපන ශ්රිතයට යවයි.
Function RemoveUnwantedChars(str ලෙස තන්තුව ලෙස , අක්ෂර තන්තුව ලෙස ) සුචිය සඳහා = 1 සිට ලෙන්(අකුරු) str = ප්රතිස්ථාපනය(str, මැද(අකුරු, index, 1), "" ) ඊළඟ RemoveUnwantedChars = str අවසන් ශ්රිතයExcel හි VBA කේතය ඇතුළත් කරන්නේ කෙසේද යන්නෙහි පැහැදිලි කර ඇති පරිදි ඉහත කේත වලින් එකක් ඔබේ වැඩපොතට ඇතුළු කරන්න, එවිට ඔබේ අභිරුචි කාර්යය භාවිතයට සූදානම්ය.
අපගේ නව පරිශීලක-නිර්වචනය කරන ලද කාර්යය Lambda-defined එක සමඟ පටලවා නොගැනීම සඳහා, අපි එය වෙනස් ලෙස නම් කර ඇත:
RemoveUnwantedChars(string, chars)මුල් තන්තුව A2 සහ D2 හි පිළිනොගන්නා අක්ෂර යැයි උපකල්පනය කිරීම, මෙම සූත්රය භාවිතයෙන් අපට ඒවා ඉවත් කළ හැක:
= RemoveUnwantedChars(A2, $D$2)
දෘඪ කේත සහිත අභිරුචි ශ්රිතයඅක්ෂර
ඔබට එක් එක් සූත්රය සඳහා විශේෂ අක්ෂර සැපයීම ගැන කරදර වීමට අවශ්ය නැතිනම්, ඔබට ඒවා කෙලින්ම කේතයෙන් සඳහන් කළ හැක:
Function RemoveSpecialChars(str ලෙස String ) String Dim chars ලෙස String Dim index ලෙස දිගු අක්ෂර = "?¿!¡*%#$(){}[]^&/\~+-" සුචිය සඳහා = 1 සිට Len(chars) str = Replace(str, Mid(chars, index, 1) , "" ) මීළඟ RemoveSpecialChars = str අවසන් කාර්යයඉහත කේතය නිරූපණය කිරීමේ අරමුණු සඳහා බව කරුණාවෙන් සලකන්න. ප්රායෝගික භාවිතය සඳහා, ඔබට මැකීමට අවශ්ය සියලුම අක්ෂර පහත පේළියේ ඇතුළත් කිරීමට වග බලා ගන්න:
chars = "?¿!¡*%#$(){}[]^&/\~+-"
මෙම අභිරුචි ශ්රිතය RemoveSpecialChars ලෙස නම් කර ඇති අතර එයට අවශ්ය වන්නේ එකක් පමණි. තර්කය - මුල් තන්තුව:
RemoveSpecialChars(string)අපගේ දත්ත කට්ටලයෙන් විශේෂ අක්ෂර ඉවත් කිරීම සඳහා, සූත්රය වන්නේ:
=RemoveSpecialChars(A2)
Excel හි මුද්රණය කළ නොහැකි අක්ෂර ඉවත් කරන්න
Microsoft Excel හට මුද්රණය නොවන අක්ෂර මකා දැමීමට විශේෂ කාර්යයක් ඇත - CLEAN ශ්රිතය. තාක්ෂණික වශයෙන්, එය 7-bit ASCII කට්ටලයේ පළමු අක්ෂර 32 ඉවත් කරයි (කේත 0 සිට 31 දක්වා).
උදාහරණයක් ලෙස, A2 වෙතින් මුද්රණය කළ නොහැකි අක්ෂර මැකීමට, මෙන්න භාවිතා කළ යුතු සූත්රය :
=CLEAN(A2)
මෙය මුද්රණය නොවන අක්ෂර ඉවත් කරයි, නමුත් පෙර/පසු සහ වචන අතර හිස්තැන් පවතිනු ඇත.
වෙත අමතර ඉඩ ඉවත් කරන්න, TRIM ශ්රිතය තුළ CLEAN සූත්රය ඔතා:
=TRIM(CLEAN(A2))
දැන්, සියලු ප්රමුඛ සහපසුපස ඇති හිස්තැන් ඉවත් කරනු ලබන අතර, අතර අවකාශය තනි අවකාශ අක්ෂරයකට අඩු කරනු ලැබේ:
ඔබ සම්පූර්ණයෙන්ම සියලු හිස්තැන් මැකීමට කැමති නම් තන්තුවක්, ඊට අමතරව හිස් තන්තුවකින් අවකාශ අක්ෂරය (කේත අංකය 32) ආදේශ කරන්න:
=TRIM(CLEAN((SUBSTITUTE(A2, CHAR(32), ""))))
සමහර අවකාශයන් හෝ වෙනත් අදෘශ්යමාන අක්ෂර තවමත් පවතී ඔබේ වැඩ පත්රිකාව? එනම් යුනිකෝඩ් අක්ෂර කට්ටලය තුළ එම අක්ෂරවලට විවිධ අගයන් ඇත.
උදාහරණයක් ලෙස, නොකැඩෙන අවකාශයක ( ) අක්ෂර කේතය 160 වන අතර ඔබට මෙම සූත්රය භාවිතයෙන් එය පිරිසිදු කළ හැක:
=SUBSTITUTE(A2, CHAR(160)," ")
නිශ්චිත මුද්රණ නොවන අක්ෂරයක් මැකීමට, ඔබ ප්රථමයෙන් එහි කේත අගය සොයා ගත යුතුය. සවිස්තරාත්මක උපදෙස් සහ සූත්ර උදාහරණ මෙහි ඇත: නිශ්චිත මුද්රණය නොවන අක්ෂරයක් ඉවත් කරන්නේ කෙසේද.
Ultimate Suite සමඟ විශේෂ අක්ෂර මකන්න
Microsoft 365, Excel 2019 - 2010 සඳහා Excel සඳහා සහය දක්වයි
මෙම අවසාන උදාහරණයේදී, Excel හි ඇති විශේෂ අක්ෂර ඉවත් කිරීමට පහසුම ක්රමය මම ඔබට පෙන්වන්නම්. Ultimate Suite ස්ථාපනය කර ඇති විට, ඔබ කළ යුත්තේ මෙයයි:
- Ablebits Data ටැබය මත, Text group හි ක්ලික් කරන්න. ඉවත් කරන්න > අනුලකුණු ඉවත් කරන්න .
මොහොතකින්, ඔබට පරිපූර්ණ ප්රතිඵලයක් ලැබෙනු ඇත:
0>යම් දෙයක් වැරදී ගියහොත්, කරදර නොවන්න - මෙම වැඩ පත්රිකාව උපස්ථ කොටුව පෙරනිමියෙන් තෝරා ඇති බැවින් ඔබේ වැඩ පත්රිකාවේ උපස්ථ පිටපතක් ස්වයංක්රීයව සාදනු ඇත.
අපගේ ඉවත් කිරීමේ මෙවලම උත්සාහ කිරීමට කුතුහලයෙන් සිටිනවාද? ඇගයීම් අනුවාදයට සබැඳියක් හරියටම පහත ඇත. කියවීම සඳහා මම ඔබට ස්තූතිවන්ත වන අතර ලබන සතියේ අපගේ බ්ලොගයේ ඔබව දැකීමට බලාපොරොත්තු වෙමි!
ලබාගත හැකි බාගැනීම්
විශේෂ අක්ෂර මකන්න - උදාහරණ (.xlsm ගොනුව)
Ultimate Suite - අත්හදා බැලීම අනුවාදය (.exe ගොනුව)