Преглед садржаја
Једноставан начин да трансформишете низ или опсег у колону помоћу функције ТОЦОЛ.
Могућност транспоновања података из колона у редове и обрнуто постоји у Екцел-у већ дуже време док. Али претварање низа ћелија у једну колону био је тежак задатак за разбијање. Сада се то коначно мења. Мицрософт је представио нову функцију, названу ТОЦОЛ, која може да изврши трансформацију низа у колону за трен. Испод је листа задатака које ова нова функција може лако да реши.
Екцел функција ТОЦОЛ
Функција ТОЦОЛ у Екцел-у претвара низ или опсег ћелија у једну колона.
Функција узима три аргумента, али је потребан само први.
ТОЦОЛ(низ, [игнорирај], [скенирање по_колони])Где:
Низ (обавезно) - низ или опсег за трансформацију у колону.
Игнориши (опционо) - дефинише да ли да се игноришу празнине или/или грешке. Може бити једна од ових вредности:
- 0 или изостављена (подразумевано) - задржати све вредности
- 1 - игнорисати празна места
- 2 - игнорисати грешке
- 3 - занемари празна места и грешке
Скенирај_по_колони (опционо) - одређује да ли да се скенира низ хоризонтално или вертикално:
- ФАЛСЕ или изостављено (подразумевано) - скенирајте низ по ред с лева на десно.
- ТРУЕ - скенирајте низ по колони од врха до дна.
Савети:
- Да конвертујете низ у један ред, користите ТОРОВфункција.
- Да бисте извршили супротну трансформацију колоне у низ, користите или функцију ВРАПЦОЛС за премотавање по колону или функцију ВРАПРОВС за премотавање по ред.
- Да бисте транспоновали низ из хоризонталног у вертикално или обрнуто, тј. промените редове у колоне, користите функцију ТРАНСПОСЕ.
Доступност ТОЦОЛ
ТОЦОЛ је нова функција, која је подржана у Екцел-у за Мицрософт 365 (за Виндовс и Мац) и Екцел за веб.
Основна ТОЦОЛ формула за трансформацију опсега у колону
ТОЦОЛ формула у свом најједноставнијем облику захтева само један аргумент - арраи . На пример, да бисте поставили дводимензионални низ који се састоји од 3 колоне и 4 реда у једну колону, формула је:
=TOCOL(A2:C5)
Формула се уноси само у једну ћелију (Е2 у овај пример) и аутоматски се прелива у ћелије испод. У смислу Екцел-а, резултат се назива опсег просипања.
Како ова формула функционише:
Технички, опсег А2:Ц5 се прво претвара у дводимензионални низ. Обратите пажњу на редове раздвојене тачком и зарезом и колоне раздвојене зарезима:
{"Apple","Banana","Cherry";1,0,3;4,#N/A,6;7,8,9}
Функција ТОЦОЛ скенира низ с лева на десно и трансформише га у једнодимензионални вертикални низ:
{"Apple";"Banana";"Cherry";1;0;3;4;#N/A;6;7;8;9}
Резултат се ставља у ћелију Е2, из које се прелива у ћелије испод.
Како користити ТОЦОЛ функцију у Екцел-у - примери формуле
Да бисте боље разумелимогућности функције ТОЦОЛ и које задатке може да покрије, хајде да погледамо неке примере формула.
Трансформишите низ у колону игноришући празнине и грешке
Као што сте можда приметили у претходном примеру , подразумевана формула ТОЦОЛ задржава све вредности из изворног низа, укључујући празне ћелије и грешке.
У резултујућем низу, празне ћелије су представљене нулама, што може бити прилично збуњујуће, посебно ако оригинални низ има 0 вредности. Решење је прескочити празна места . За ово, поставите 2. аргумент на 1:
=TOCOL(A2:C5, 1)
Да игноришите грешке , поставите 2. аргумент на 2:
=TOCOL(A2:C5, 2)
Да бисте искључили и празнине и грешке , користите 3 за аргумент игноре :
=TOCOL(A2:C5, 3)
Скенирај низ хоризонтално или вертикално
Са подразумеваним аргументом сцан_би_цолумн (ФАЛСЕ или изостављен), функција ТОЦОЛ скенира низ хоризонтално по ред. Да бисте обрадили вредности по колони, подесите овај аргумент на ТРУЕ или 1. На пример:
=TOCOL(A2:C5, ,TRUE)
Приметите да су, у оба случаја, враћени низови исте величине, али су вредности распоређене другачијим редоследом.
Комбинујте више опсега у једну колону
Ако имате посла са неколико несуседних опсега, онда прво можете комбиновати опсеге вертикално у један низ уз помоћ функције ВСТАЦК и затим употребите ТОЦОЛ да трансформишете комбиновани низ у колону.
Под претпоставком да је први опсег А2:Ц4, а други опсег А8:Ц9, формула има овај облик:
=TOCOL(VSTACK(A2:C4, A8:C9))
Ова формула показује подразумевано понашање - чита комбиноване низове хоризонтално са леве стране десно као што је приказано у колони Е на слици испод.
Да бисте читали вредности вертикално од врха до дна, поставите 3. аргумент ТОЦОЛ-а на ТРУЕ:
=TOCOL(VSTACK(A2:C4, A8:C9), ,TRUE)
Обратите пажњу да у овом случају формула прво враћа вредности из колоне А оба низа, затим из колоне Б и тако даље. Разлог је тај што ТОЦОЛ скенира један наслагани низ, а не оригиналне појединачне опсеге.
Ако ваша пословна логика захтева слагање оригиналних опсега хоризонтално, а не вертикално, користите функцију ХСТАЦК уместо ВСТАЦК.
Да бисте додали сваки следећи низ десно од претходног низа и прочитали комбиноване низове хоризонтално, формула је:
=TOCOL(HSTACK(A2:C4, A8:C10))
Да бисте додали сваки следећи низ десно од претходног низа и скенирали комбиноване низове вертикално, формула је:
=TOCOL(HSTACK(A2:C4, A8:C10), ,TRUE)
Издвоји јединствене вредности из опсега са више колона
Екцел УНИКУЕ функција може лако да пронађе јединствене вредности у једној колони или реду, као и да врати јединствене редове, али не може да издвоји јединствене вредности из низ са више колона. Решење је да се користи заједно са функцијом ТОЦОЛ.
На пример, да извучете све различите (различите) вредности из опсегаА2:Ц7, формула је:
=UNIQUE(TOCOL(A2:C7))
Поред тога, можете умотати горњу формулу у функцију СОРТ да бисте вратили низ уредили по абецедном реду:
=SORT(UNIQUE(TOCOL(A2:C7)))
Како да конвертујете опсег у колону у програму Екцел 365 - 2010
У верзијама програма Екцел где функција ТОЦОЛ није подржана, постоји неколико алтернативних начина да се опсег ћелија трансформише у колону. Ова решења су прилично незгодна, али у сваком случају функционишу.
Да бисте прочитали опсег по реду:
ИНДЕКС( опсег , КВОТИЕНТ(РОВ(А1)-1, ЦОЛУМНС( опсег ))+1, МОД(РОВ(А1)-1, ЦОЛУМНС( опсег ))+1)Да бисте прочитали опсег по колони:
ИНДЕКС( опсег , МОД(РЕД(А1)-1, РЕДОВИ( опсег ))+1, КВОТИЕНТ(РЕД(А1)-1, РЕДОВИ( опсег ))+1 )За наш пример скупа података, формуле су следеће:
Да бисте скенирали опсег хоризонтално с лева на десно :
=INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1)
Ова формула је еквивалентна функцији ТОЦОЛ са 3. аргументом постављеним на ФАЛСЕ или изостављеним:
=TOCOL(A2:C5)
Да бисте скенирали опсег вертикално од врха до дна :
=INDEX($A$2:$C$5, MOD(ROW(A1)-1, ROWS($A$2:$C$5))+1, QUOTIENT(ROW(A1)-1, ROWS($A$2:$C$5))+1)
Ова формула је упоредива са функцијом ТОЦОЛ са 3. аргументом постављеним на ТРУЕ:
=TOCOL(A2:C5, ,TRUE)
За разлику од ТОЦОЛ-а, алтернативне формуле треба унети у сваку ћелију у којој желите да се прикажу резултати. У нашем случају, формуле иду у ћелије Е2 (по реду) и Г2 (по колони), а затим се копирају доле у ред 13.
Ако се формуле копирају у више редова него што је потребно, а#РЕФ! грешка ће се појавити у "додатним" ћелијама. Да бисте спречили да се то догоди, можете угнездити формуле у функцију ИФЕРРОР на следећи начин:
=IFERROR(INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1), "")
Приметите да да би формуле биле исправно копиране, закључавамо опсег користећи апсолутне референце ћелије ($ А$2:$Ц$5). Уместо тога, можете користити именовани опсег.
Како функционишу ове формуле
У наставку је детаљан преглед прве формуле која распоређује ћелије по редовима:
=INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1)
Идеја је да користите функцију ИНДЕКС за враћање вредности одређене ћелије на основу њених релативних бројева редова и колона у опсегу.
број реда се израчунава овом комбинацијом :
QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1
КУОТИЕНТ враћа целобројни део дељења.
За бројилац , користите РОВ(А1)-1, који враћа серијски број од 0 у Е2 (прва ћелија у коју је унета формула) до 11 у Е13 (последња ћелија у коју је формула унета).
Именилац именилац се односи на ЦОЛУМНС($А $2:$Ц$5)) је константан и једнак је броју колона у вашем опсегу (3 у нашем случају).
Сада, ако проверите резултат КВОТИЕНТА за прве 3 ћелије (Е2:Е4) , видећете да је једнако 0 (јер је целобројни део дељења нула). Додавањем 1 добија се ред број 1.
За следеће 3 ћелије (Е5:Е5), КУОТИЕНТ враћа 1, а операција +1 даје ред број 2. И тако даље.
Другим речима, овај део формуле ствара понављањениз бројева као што је 1,1,1,2,2,2,3,3,3,4,4,4,… Сваки број се понавља онолико пута колико има колона у вашем опсегу.
За израчунајте број колоне , градите одговарајући низ бројева користећи МОД функцију:
MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1
Пошто постоје 3 колоне у нашем опсегу (А2:Ц5), секвенца мора бити 1,2,3,1,2,3,…
Функција МОД враћа остатак након дељења.
У Е2, МОД(РОВ(А1)-1, ЦОЛУМНС ($А$2:$Ц$5))+1)
постаје
МОД(1-1, 3)+1)
и враћа 1.
У Е3, МОД(РОВ(А2)-1, ЦОЛУМНС($А$2:$Ц$5))+1)
постаје
МОД(2-1, 3) +1)
и враћа 2.
Са успостављеним бројевима редова и колона, ИНДЕКС нема проблема да преузме тражену вредност.
У Е2, ИНДЕКС($А$2 :$Ц$5, 1, 1) враћа вредност из 1. реда и 1. колоне референтног опсега, тј. из ћелије А2.
У Е3, ИНДЕКС($А$2:$Ц$5, 1 , 2) враћа вредност из 1. реда и 2. колоне, односно из ћелије Б2.
И тако даље.
Друга формула која скенира опсег по ц олумн, ради на сличан начин. Разлика је у томе што користи МОД да би добио број реда и КУОТИЕНТ да би добио број колоне.
Функција ТОЦОЛ не ради
Ако функција ТОЦОЛ даје грешку, највероватније је да је један од ових разлога:
ТОЦОЛ није подржан у вашем Екцел-у
Када добијете #НАМЕ? грешка, тачан правопис имена функције је прва стварпроверавати. Ако је име тачно, али грешка и даље постоји, функција није доступна у вашој верзији Екцел-а. У овом случају, размислите о коришћењу алтернативе ТОЦОЛ-а.
Низ је превелик
Грешка #НУМ означава да низ не може да стане у колону. Типичан случај је када се позивате на целе колоне или редове.
Нема довољно празних ћелија
Када дође до грешке #СПИЛЛ, проверите да ли је колона у коју је унета формула има довољно празних ћелија да се попуни резултатима. Ако су ћелије визуелно празне, уверите се да у њима нема размака и других знакова који се не штампају. За више информација погледајте Како да поправите грешку #СПИЛЛ у Екцел-у.
Тако можете да користите функцију ТОЦОЛ у програму Екцел 365 и алтернативна решења у ранијим верзијама да трансформишете 2-димензионални низ у једну колону. Захваљујем вам на читању и надам се да се видимо на нашем блогу следеће недеље!
Радна свеска за вежбање
Екцел функција ТОЦОЛ – примери формула (.клск датотека)