Змест
Нягледзячы на тое, што Microsoft не падала прамой формулы або сінтаксісу для вылучэння толькі лічбаў з ячэйкі Excel, мы можам уключыць шырокі спектр формул Excel для зрабіць адзіную функцыю, якую можна выкарыстоўваць для здабывання лікаў або лічбаў толькі з вочак Excel. У гэтым артыкуле мы паспрабуем дэталёва паказаць і растлумачыць, як мы можам вывесці толькі лічбы з вочак з адпаведнымі формуламі па некалькіх крытэрыях.
Спампаваць Практычны сшытак
Спампаваць бясплатны дапаможнік, які мы выкарыстоўвалі для падрыхтоўкі гэтага артыкула. Вы можаце ўвесці тэкставыя значэнні з лічбамі ў выбраныя ячэйкі і неадкладна знайсці вынікі з дапамогай убудаваных формул.
Выманне лікаў з Cell.xlsm
7 эфектыўных спосабаў атрымаць толькі лічбы з ячэйкі Excel
Будзе адзін код VBA, адна функцыя Excel і пяць практычных формул, якія дапамогуць вам атрымаць лічбы з ячэйкі. Як на малюнку ніжэй, у нас ёсць некаторыя коды, уключаючы лічбы і літары, дзе лічбы прысутнічаюць у пачатку. Мы павінны атрымаць толькі гэтыя лічбы або лічбы.
1. Выцягванне лічбаў з пачатку тэксту
У гэтым першым метадзе мы аб'яднаем LEFT , SUM , LEN і Функцыя SUBSTITUTE выцягвае лічбы з пачатку тэкставага радка. Спачатку мы ўвядзём гэтую формулу ў вочка, іпапярэдні раздзел. Атрыманыя значэнні будуць такімі: {0,1,1,0,0,0,0,0,0,1}.
➤ SUM(LEN(B5)-LEN (ЗАМЕНА(B5, {“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”) ))
- Пры дапамозе функцыі SUM значэнні ўнутры масіва, знойдзеныя ў апошнім раздзеле, дадуць 3 ( 0+1+1+0+0+0+0+0+0+1).
- Такім чынам, згодна з першай часткай нашай формулы, A>0 (3>0) . Зараз мы пяройдзем да наступнай часткі разбіўкі.
Разбіўка часткі B = MID(0&B5, LARGE(INDEX(ISNUMBER(–MID(B5,ROW() УСКОСНЫ(“$1:$”&LEN(B5))),1))* РОД(УСКОСНЫ(“$1:$”&LEN(B5))),0), РАДОК(УСКОСНЫ(“$1:$” &LEN(B5))))+1,1)
➤ INDIRECT(“$1:$”&LEN(B5))
- Функцыя INDIRECT тут будзе захоўваць радковыя значэнні як спасылку на масіў. У дужках каманда амперсанд (&) аб'яднае колькасць сімвалаў, якія знаходзяцца ў ячэйцы B5 , з сінтаксісам дыяпазону ячэек. Гэта азначае, што ад 1 да вызначанай колькасці сімвалаў кожны будзе захоўвацца як спасылка на масіў.
➤ ROW(INDIRECT(“$1:$”&LEN(B5)) )
- Цяпер гэтая функцыя ROW выцягне ўсе лічбы з масіва і атрыманыя значэнні для ячэйкі B5 будзе - {1;2;3;4;5;6;7;8;9}.
➤ MID(B5,ROW( INDIRECT(“$1:$”&LEN(B5))),1)
- У гэтай частцы формулыФункцыя MID выкажа ўсе сімвалы з ячэйкі B5 на аснове ўсіх пазіцый, знойдзеных у выглядзе лічбаў у папярэднім раздзеле. Такім чынам, вынятыя значэнні будуць знойдзены пасля гэтай часткі - {“1″;”9″;” “;”D”;”D”;”X”;”2″;”M”;”N”}.
➤ ISNUMBER(–MID(B5,ROW(INDIRECT) (“$1:$”&LEN(B5))),1))
- Паколькі ISNUMBER з'яўляецца лагічнай функцыяй, яна Я вызначаю індывідуальна, калі значэнні, знойдзеныя ў папярэднім раздзеле, з'яўляюцца лічбавымі радкамі ці не. Калі так, то ён вернецца як TRUE , у адваротным выпадку ён будзе адлюстроўвацца як FALSE .
- Такім чынам, у нашым выпадку вынік будзе: { ПРАЎДА;ПРАЎДА;ХЛУСНЯ;ХЛУСНЯ;ХЛУСНЯ;ХЛУСНЯ;ПРАЎДА;ХЛУСНЯ;ХЛУСНЯ}.
➤ INDEX(ISNUMBER(–MID(B5,ROW(INDIRECT(“$1:$”) &LEN(B5))),1))*ROW(INDIRECT(“$1:$”&LEN(B5))),0)
- Калі вы заўважылі ўнутры над функцыяй быў выкарыстаны двайны злучок, вядомы як Double Unary . Ён выкарыстоўваецца для пераўтварэння ўсіх лагічных значэнняў у лікавыя радкі - 1(TRUE) або 0(FALSE) . Цяпер функцыя INDEX верне гэты вынік як {1;1;0;0;0;0;1;0;0}.
- Пасля што выніковыя значэнні будуць памножаны на значэнні, атрыманыя з функцыі ROW унутры масіву, і вынік будзе: {1;2;0;0;0;0; 7;0;0}.
➤ LARGE(INDEX(ISNUMBER(–MID(B5,ROW(INDIRECT(“$1:$”&LEN(B5))),1 ))*ROW(УСКОСНЫ(“$1:$”&LEN(B5)));0),ROW(INDIRECT(“$1:$”&LEN(B5))))
- Функцыя LARGE цяпер пераставіць найбольшы значэнні з масіва ў адпаведнасці з пазіцыямі на аснове лікаў, знойдзеных у функцыях ROW . & нашы выніковыя значэнні для гэтага раздзела формулы будуць - {7;2;1;0;0;0;0;0;0}.
➤ MID(0&B5 , LARGE(INDEX(ISNUMBER(–MID(B5,ROW(INDIRECT(“$1:$”&LEN(B5))),1))*ROW(INDIRECT(“$1:$”&LEN(B5)) ),0), ROW(INDIRECT(“$1:$”&LEN(B5))))+1,1)
- Цяпер гэтая частка функцыі аб'яднае 0 з тэкстам у ячэйцы B5 . Затым ён дадасць 1 паасобку з усімі лічбамі, знойдзенымі ў апошнім раздзеле, і пакажа сімвалы з ячэйкі B5 на аснове вызначаных пазіцый лікаў.
- Такім чынам, наш вынік з гэтага раздзела будзе: {“2″;”9″;”1″;”0″;”0″;”0″;”0″;”0″;”0” }.
Разбіўка часткі C = (10^ROW(INDIRECT(“$1:$”&LEN(B5)))/10),””)
- Гэта частка вызначае ступені 10 & захоўваць іх у масіве. Лічбы ступеней - гэта лічбы, знойдзеныя з папярэдняй функцыі ROW .
- Гэтая частка формулы верне значэнні як- {1;10;100 ;1000;10000;100000;1000000;10000000;100000000}.
Множанне B n і C n
- Цяпер выніковыя значэнні двух апошніх асноўных разбіўак B і C цяпер будуцьбыць памножаны ўнутры масіва. Тады здабыткі, атрыманыя ў выніку множання, будуць: {2;90;100;0;0;0;0;0;0}.
- І, нарэшце, СУМОВАЯ ПРАДУКТ Функцыя прасумуе гэтыя значэнні, знойдзеныя ў масіве. Такім чынам, наш канчатковы вынік будзе 192 (2+90+100+0+0+0+0+0+0) , які з'яўляецца вынятым лікам з ячэйкі B5 .
Дадатковая інфармацыя: Як раздзяліць тэкст і лічбы ў Excel (4 простыя спосабы)
5. Выманне пяцізначных лікаў з радка
Мы будзем выкарыстоўваць іншую формулу для вымання пяцізначных лікаў з любой часткі радка ў Excel. У гэтым раздзеле мы ўпершыню выкарыстаем функцыі CONCAT і SEQUENCE . Больш за тое, мы крыху змянілі наш набор даных для гэтага метаду.
Крокі:
- Спачатку абярыце дыяпазон ячэек C5:C12 .
- Па-другое, увядзіце наступную формулу.
=CONCAT(IFERROR(0+MID(B5,SEQUENCE(LEN(B5)),1),""))
- Нарэшце, націсніце Ctrl+Enter .
🔎 Разбіўка формулы
- LEN(B5)
- Вывад: 11 .
- Гэта функцыя вяртае даўжыню радка.
- SEQUENCE(11)
- Выхад: {1;2;3;4;5; 6;7;8;9;10;11} .
- Гэта функцыя вяртае першыя адзінаццаць лікаў.
- MID(B5,{1;2) ;3;4;5;6;7;8;9;10;11},1)
- Выхад: {“1″;”9″;” “;”D”;”D”;”X”;”2″;”M”;”N”;”3″;”3″} .
- Выкарыстоўваючы гэтую частку, мыатрыманне асобных сімвалаў з радка.
- 0+{“1″;”9″;” “;”D”;”D”;”X”;”2″;”M”;”N”;”3″;”3″}
- Выхад: {1;9; #VALUE!;#VALUE!;#VALUE!;#VALUE!;2;#VALUE!;#VALUE!;3;3} .
- Калі мы дадаем нуль з радком, ён будзе вяртае памылку.
- IFERROR({1;9;#VALUE!;#VALUE!;#VALUE!;#VALUE!;2;#VALUE!;#VALUE!;3 ;3},””)
- Выхад: {1;9;””;””;””;””;2;””;””;3;3} .
- Мы становімся пустымі для ўсіх значэнняў памылак.
- CONCAT({1;9;””;””;””;””;2;” ”;””;3;3})
- Вывад: 19233 .
- Нарэшце, мы дадаем усе значэнні, каб атрымаць толькі пяцізначныя лікі.
6. Выкарыстанне Flash Fill для здабывання лікаў у межах дыяпазону
Выкарыстанне Flash Функцыя Fill лягчэй і прасцей, чым любы іншы спосаб, згаданы вышэй. Мы збіраемся атрымаць лічбы з любой пазіцыі ў тэкставых радках. Каб правільна выканаць гэты метад, мы павінны дапамагчы Excel знайсці шаблон значэнняў ячэек у слупку або радку, зрабіўшы выманне толькі для першых двух значэнняў.
Крокі:
- Для пачатку ўвядзіце лічбы ўручную ў ячэйку C5 .
- Затым пачніце ўводзіць лічбы з ячэйкі B6 да ячэйкі C6 і Excel аўтаматычна распазнае шаблон.
- Нарэшце, націсніце Enter .
Заўвагі: Гэты метад мае некаторыянедахопаў, таму не рэкамендуецца ва ўсіх выпадках, калі вам трэба атрымаць лікі з тэкставых радкоў. Flash Fill звычайна ідзе па ўзоры ячэек у слупку або дыяпазоне. Такім чынам, першыя 2 ці 3 вымання або разлікі павінны быць зроблены ўручную, каб дапамагчы Excel засвоіць агульную схему атрыманых значэнняў. Але часам ён не адпавядае дакладнаму шаблону, які нам патрэбны, і, такім чынам, ён будзе прытрымлівацца ўласнага шаблону і дасць вам неадпаведны вынік.
Напрыклад, калі б нам трэба было атрымаць два нулі (00) з прыведзеныя дадзеныя паказваюць толькі адзін нуль, а не два. Затым, калі вы захочаце атрымаць лічбы з пачатку або з апошніх пазіцый у ячэйцы, разам з лічбамі будуць атрыманы і тэкставыя значэнні.
Дадатковая інфармацыя: Як каб атрымаць лічбы пасля пэўнага тэксту ў Excel (2 прыдатныя спосабы)
7. Прымяненне кода VBA для вымання толькі лічбаў з ячэйкі Excel
Калі вы зацікаўлены ў выкарыстанні Макрас Excel VBA для здабывання лікаў толькі з ячэек, тады вы хочаце выканаць наступныя дзеянні. Мы пакажам вам, як увесці код у акне VBA Module . Гэты код будзе прасіць карыстальніка ўказаць дыяпазоны ўваходных і выходных ячэек.
Крокі:
- Спачатку націсніце ALT+F11 каб адкрыць акно VBA .
- Затым на ўкладцы Уставіць выберыце каманда Модуль . Новы модульз'явіцца акно, дзе вы будзеце ўводзіць коды.
- Па-трэцяе, пасля капіравання ўстаўце наступныя коды ў свой модуль.
2028
- Пасля націсніце F5 для выканання кода. З'явіцца дыялогавае акно з назвай “ Выбар уваходных даных ”.
- Затым вылучыце ўсе тэкставыя ячэйкі (напрыклад, B5:B12 ) і націсніце ОК .
- Пасля гэтага адкрыецца іншае дыялогавае акно з назвай « Выбар вывадной ячэйкі » з'явіцца, дзе вы павінны выбраць пэўную ячэйку або дыяпазон ячэек, каб убачыць выходныя даныя або значэнні.
- Нарэшце, вылучыце дыяпазон ячэек C5:C12 і націсніце Enter .
- Такім чынам, вы ўбачыце вынятыя лічбы з усе тэксты адразу. Такім чынам, мы скончым сем хуткіх спосабаў здабывання лічбаў толькі з ячэйкі Excel.
🔎 Разбіўка кода VBA
➤ Аб'яўленне параметраў
3291
- Спачатку тут, у гэтай частцы, мы дэкларуем усе нашы параметры ў выглядзе цэлых лікаў, радковых значэнняў або дыяпазонаў вочак. Затым мы даем назвы нашых дыялогавых вокнаў з дапамогай “Выбар уваходных даных” і “Выбар ячэйкі вываду” .
➤ Вызначэнне тыпаў уводу & Выхады для дыялогавых вокнаў
5336
- Цяпер мы вызначаем параметры і іх тыпы для дыялогавых вокнаў. Тут даданне Type:=8 азначаеўваходныя і выходныя даныя будуць складацца з даведачных ячэек або дыяпазону ячэек.
- Мы таксама вызначаем, што калі ўваходныя даныя не знойдзены, то падпраграма спыніцца. Згадваючы гэты макрас, падпраграма не будзе ламацца з-за адсутнасці даных, а хутчэй перастане працаваць.
➤ Спалучэнне функцый у цыклах кода для Ітэрацыі
9439
- Нарэшце, гэта самая важная частка, дзе мы прымяняем функцыі або формулы, якія мы павінны прызначыць тэкстам, каб знайсці выніковыя значэнні з радкоў .
- Адна з галоўных пераваг кадзіравання функцыі для Excel заключаецца ў тым, што няма неабходнасці ўводзіць вялікую формулу, як гэта даводзілася рабіць у папярэдніх метадах, паколькі VBA мае ўбудаваныя каманды для выкарыстання цыклаў For або While дзе ітэрацыя для кожнай дэталі ў тэкставым радку можа быць выканана без якіх-небудзь праблем.
Больш падрабязна: Як аддзяліць лічбы ад тэксту ў Excel VBA (3 Метады)
Выснова
Мы паказалі вам 7 простых метадаў атрымання толькі лічбаў з ячэйкі Excel. Выняць толькі лічбы з тэкставага радка не так проста, як здаецца, таму што патрабуецца камбінацыя некалькіх функцый, што ўскладняе канчатковую формулу або сінтаксіс. Але мы спадзяемся, што тое, як мы спрабавалі праілюстраваць формулы, разбіваючы ўнутраныя функцыі, дапамагло вам зразумець сінтаксіс з невялікім камфортам ілёгкасць.
Калі вы знойдзеце якія-небудзь іншыя функцыі або формулы, якія мы павінны былі дадаць сюды, калі ласка, паведаміце нам аб гэтым праз вашыя каштоўныя каментарыі. Або вы можаце зірнуць на нашы больш інфарматыўныя і цікавыя артыкулы, звязаныя з функцыямі Excel на гэтым сайце.
затым, выкарыстоўваючы маркер запаўнення , мы скапіруем гэтую формулу ў астатнія вочкі.Крокі:
- Спачатку ўвядзіце формулу ў ячэйку C5 .
=LEFT(B5,SUM(LEN(B5)-LEN(SUBSTITUTE(B5,{"0","1","2","3","4","5","6","7","8","9"},""))))
- Па-другое, націсніце Enter і вы атрымаеце лічбу 34 для першага кода.
- Па-трэцяе, выкарыстоўвайце Маркер запаўнення , а затым для аўтаматычнага запаўнення ўсіх іншых вочак у слупку C .
🔎 Разбіўка формулы
➤ ЗАМЕНА(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″}, ””)
- Тут функцыя SUBSTITUTE паслядоўна знойдзе лічбы (0-9) і, калі знойдзе, заменіць гэтая лічба ў ячэйцы B5 кожны раз з пустым сімвалам. Такім чынам, функцыя вернецца як- {“34DTXRF”,”34DTXRF”,”34DTXRF”,”4DTXRF”,”3DTXRF”,”34DTXRF”,”34DTXRF”,”34DTXRF”,”34DTXRF”,”34DTXRF”}.
➤ LEN(ЗАМЕНА(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7 ″,”8″,”9″},””))
- Функцыя LEN вызначае колькасць сімвалаў у радку . Такім чынам, тут функцыя LEN падлічыць усе сімвалы, асобна знойдзеныя ў тэкстах праз функцыю SUBSTITUTE . Выніковыя значэнні ў нашым выпадку будуць тут – {7,7,7,6,6,7,7,7,7,7}.
➤ LEN(B5)- LEN(ЗАМЕНА(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″},”” )))
- Гэта часткаадніманне колькасці знакаў у ячэйцы B5 усе іншыя колькасці сімвалаў, знойдзеных індывідуальна ў папярэднім раздзеле формулы. Такім чынам, тут выніковыя значэнні будуць – {0,0,0,1,1,0,0,0,0,0}.
➤ SUM(LEN(B5) -LEN(ЗАМЕНА(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″},” ”)))
- Функцыя SUM затым проста прасумуе ўсе знойдзеныя аднятыя значэнні & таму вынік будзе тут, 2 (0+0+0+1+1+0+0+0+0+0).
➤ = LEFT(B5,SUM(LEN(B5)-LEN(ЗАМЕНА(B5;{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″, ”8″,”9″},””))))
- І вось апошняя частка, дзе функцыя LEFT будзе вярнуць значэнні з дакладнай колькасцю знакаў злева, знойдзеных у папярэднім раздзеле формулы. Паколькі мы атрымалі значэнне сумы як 2, функцыя LEFT тут верне толькі 34 з тэксту 34DTXRF .
➥ Па тэме: Як раздзяліць лічбы ў Excel з дапамогай формулы (5 спосабаў)
2. Выманне лікаў з Правы бок тэксту
У гэтым раздзеле мы будзем выцягваць лічбы або лічбы з правага боку тэкставага радка. Тут мы будзем выкарыстоўваць функцыі RIGHT , MIN і SEARCH .
Крокі:
- Пачнем з таго, што ў нашым наборы даных мы павінны ўвесці ў ячэйку C5 is-
=RIGHT(B5,LEN(B5) - MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, B5&"0123456789")) +1)
- Пасля націсніце Увядзіце , а затым выкарыстоўвайце Маркер запаўнення для аўтаматычнага запаўнення астатніх вочак.
🔎 Разбіўка формулы
➤ B5&”0123456789″
- Тут мы аб'ядноўваем значэнні ў B5 ячэйцы з 0123456789 выкарыстоўваючы амперсанд (&) паміж іх, і мы атрымаем выніковае значэнне як- DTXRF340123456789.
➤ ПОШУК({0,1,2,3,4,5,6,7,8,9}, B5&”0123456789″)
- Цяпер функцыя ПОШУК будзе шукаць усе лічбы (0-9) адну за адной у выніковае значэнне, атрыманае з папярэдняга раздзела, і верне пазіцыі гэтых 10 лічбаў у сімвалах DTXRF340123456789 . Такім чынам, тут нашы выніковыя значэнні будуць - {8,9,10,6,7,13,14,15,16,17}.
➤ MIN(SEARCH({0) ,1,2,3,4,5,6,7,8,9}, B5&”0123456789″))
- MIN Функцыя выкарыстоўваецца для пошуку малодшага разраду або ліку ў масіве. Такім чынам, тут мінімальнае або самае нізкае значэнне будзе - 6 з масіва {8,9,10,6,7,13,14,15,16,17}, знойдзенага ў папярэднім раздзеле формулы .
➤ LEN(B5) – MIN(ПОШУК({0,1,2,3,4,5,6,7,8,9}, B5&”0123456789″ )) +1)
- Цяпер колькасць сімвалаў у B5 будзе вызначана па LEN функцыя. Затым ён адніме значэнне 6 (знойдзенае ў апошнім раздзеле), а потым верне вынік, дадаўшы 1. У нашым выпадкувыніковае значэнне будзе 2 (7-6+1) .
➤ RIGHT(B5,LEN(B5) – MIN(SEARCH({0,1, 2,3,4,5,6,7,8,9}, B5&”0123456789″)) +1)
- ПРАВЫ Функцыя верне зададзеную колькасць сімвалаў з апошняга або правага боку радка. Пасля выніку, атрыманага ў працэсе аднімання ў папярэднім раздзеле, тут функцыя ПРАВА пакажа 2 апошнія сімвалы з ячэйкі B5 , і гэта будзе 34 .
Дадатковая інфармацыя: Як раздзяліць лічбы ў адной ячэйцы ў Excel (5 метадаў)
3. Выманне лікаў з любой часткі тэкставага радка
Вось шырокае рашэнне для ўсіх выпадкаў. Гэты метад будзе выцягваць лічбы або лічбы з любой пазіцыі ў тэкставым радку. Акрамя таго, мы будзем выкарыстоўваць TEXTJOIN , IFERROR , INDIRECT , <1 Функцыі> MID і ROW у гэтым метадзе.
Крокі:
- Па-першае, увядзіце формулу ў ячэйку прызначэння наступным чынам-
=TEXTJOIN("",TRUE,IFERROR((MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)*1),""))
- Тады, калі вы Вы выкарыстоўваеце Excel 2016 або больш новую версію, затым націсніце Enter , інакш націсніце Ctrl+Shift+Enter , каб атрымаць вынік для гэтай формулы масіву.
- Пасля гэтага кроку аўтазапоўніце іншыя ячэйкі з дапамогай Маркера запаўнення і ўсё гатова.
🔎 Разбіўка формулы
➤ INDIRECT(“1:”&LEN(B5))
- Функцыя INDIRECT выкарыстоўваецца для захавання масіва значэнні вочак у якасці даведачнага тэксту. Тут каманда амперсанд (&) аб'ядноўвае даўжыню сімвалаў ячэйкі B5 з сінтаксісам няпоўнага дыяпазону (1:) .
- Такім чынам, тут функцыя INDIRECT будзе захоўваць усе лічбы ад 1 да даўжыні сімвалаў у ячэйцы B5 у якасці даведачнага тэксту.
➤ ROW(INDIRECT(“1:”&LEN(B5)))
- The <Функцыя 1> ROW звычайна паведамляе нумар радка ячэйкі. Але тут, у функцыі INDIRECT , паколькі спасылкавая ячэйка не згадваецца, у гэтым выпадку функцыя ROW будзе здабываць усе значэнні або лічбы з даведачных тэкстаў, якія захоўваюцца ў функцыі INDIRECT .
- Цяпер для 1-й ячэйкі B5 , выніковыя значэнні гэтых функцый ROW і INDIRECT будуць - {1;2;3;4;5;6; 7;8;9}.
➤ (MID(B5,ROW(INDIRECT(“1:”&LEN(B5))),1))
- Функцыя MID дазволіць вам вызначыць сімвалы з сярэдзіны тэкставага радка, улічваючы пачатковую пазіцыю & даўжыня.
- Такім чынам, тут для ўсіх 9 пазіцый, знойдзеных у папярэднім раздзеле, функцыя MID зараз пакажа ўсе сімвалы адзін за адным для кожнай пазіцыі & такім чынам верне значэнні як- {“1″;”9″;”“;”D”;”D”;”X”;”2″;”M”;”N”}.
➤ IFERROR((MID(B5,ROW(INDIRECT) (“1:”&LEN(B5))),1)*1),””)
- Цяпер, IFERROR - гэта лагічная функцыя, якая будзе вызначаць, ці з'яўляецца радок лікам ці чымсьці іншым. Калі ён не ідэнтыфікуе радок з лічбамі або лічбамі, ён верне значэнне з вызначанай тэкставай камандай.
- У нашым выпадку ўсе значэнні, знойдзеныя ў апошнім раздзеле, будуць памножаны на 1, і калі вынікі вяртаюцца ў выглядзе памылак значэнняў для літар або тэкставых значэнняў, якія нельга памнажаць, іх IFERROR функцыя пераўтворыць памылкі ў пустыя радкі. Такім чынам, нашы выніковыя значэнні будуць такімі: {1;9;””;””;””;””;2;””;””}.
➤ =TEXTJOIN (“”,TRUE,IFERROR((MID(B5,ROW(INDIRECT(“1:”&LEN(B5))),1)*1),””))
- І цяпер апошняя частка будзе выканана праз функцыю TEXTJOIN . Гэтая функцыя выкарыстоўваецца для канкатэнацыі або аб'яднання двух радкоў з указаным раздзяляльнікам.
- Такім чынам, выніковыя значэнні, якія мы знайшлі ў папярэднім раздзеле, цяпер будуць аб'яднаны разам з гэтым TEXTJOIN Функцыя . Такім чынам, мы атрымаем лік 192.
Больш падрабязна: Як атрымаць некалькі лікаў з радка ў Excel (6 метадаў)
4. Укладанне некалькіх функцый для вываду толькі лікаў
Цяпер мы пакажам вам іншую формулу для вымання толькі лікаў з любой пазіцыі з Excelвочка. Хоць гэта можа здацца даволі складаным, мы разбяром усю формулу і паспрабуем лёгка растлумачыць усе кампактныя функцыі. Акрамя таго, мы будзем выкарыстоўваць IF , LARGE , INDEX , <1 Функцыі> СУМАПРОДУКТ і ЛІКЛ у гэтай формуле.
- Для пачатку ўвядзіце гэту формулу ў ячэйку C5 . Вы павінны замяніць спасылку на ячэйку толькі на аснове вашай уласнай ячэйкі ў электроннай табліцы, а затым, убудаваўшы гэту формулу, вы адразу ж атрымаеце чаканы вынік. І гэтая формула выдатна працуе ў любой версіі Excel.
=IF(SUM(LEN(B5)-LEN(SUBSTITUTE(B5, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&B5, LARGE(INDEX(ISNUMBER(--MID(B5,ROW(INDIRECT("$1:$"&LEN(B5))),1))* ROW(INDIRECT("$1:$"&LEN(B5))),0), ROW(INDIRECT("$1:$"&LEN(B5))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(B5)))/10),"")
- Пасля гэтага вам трэба націснуць Enter толькі пасля ўводу ўсёй формулы, і ўсё гатова.
🔎 Разбор формулы
Перш чым пачаць разбор гэтага масіўнага & кампактная формула, мы можам падзяліць яе на некалькі частак, напрыклад -
=КАЛІ(A>0, СУММАПРАДУКТ(B 1 *C 1 , B 2 *C 2 , ……….B n C n ),””)
Гэты сінтаксіс азначае, што калі A больш за 0, то ўсе здабыткі B n і C n дадуць канчатковы вынік. І калі A не больш за 0, то вынік вернецца як пустая або пустая ячэйка.
- A =СУМА(LEN(B5)-LEN(ЗАМЕНА(B5, {“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″, ”9”}, “”
- B = MID(0&B5, LARGE(INDEX(ISNUMBER(–MID(B5,ROW(INDIRECT(“$1)) :$”&LEN(B5))),1))* ROW(INDIRECT(“$1:$”&LEN(B5))),0), ROW(INDIRECT(“$1:$”&LEN( B5))))+1,1)
- C = 10^ROW(INDIRECT(“$1:$”&LEN(B5)))/ 10),””
Разбіўка часткі A = SUM(LEN(B5)-LEN(SUBSTITUTE(B5, {“0″,”1″,”2″ ,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”
➤ ЗАМЕНА(B5, { “0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”)
- Функцыя SUBSTITUTE кожны раз знаходзіць усе лічбы (0-9) адну за адной у тэксце 19 DDX2MN і замяняе іх лічбы з пустым радком у пазіцыях лічбаў.
- Такім чынам, выніковыя значэнні ў масіве будуць: {“19 DDX2MN”,”9 DDX2MN”,”19 DDXMN”,”19 DDX2MN”,” 19 DDX2MN”,”19 DDX2MN”,”19 DDX2MN”,”19 DDX2MN”,”19 DDX2MN”,”1 DDX2MN”}.
➤ LEN(SUBSTITUTE(B5, { “0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”))
- Функцыя LEN цяпер будзе падлічваць колькасць сімвалаў ва ўсіх радковых значэннях, атрыманых з папярэдняга раздзела. Такім чынам, гэтая функцыя верне як- {9,8,8,9,9,9,9,9,9,8}.
➤ LEN(B5)-LEN( ЗАМЕНА(B5, {“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8”,”9”}, “”))
- Цяпер у гэтай частцы формулы колькасць знакаў у ячэйцы B5 будзе адымаць усе лічбы, знойдзеныя ў