Содржина
Брз начин за претворање опсег на ќелии во еден ред со помош на функцијата TOROW .
Microsoft Excel 365 воведе неколку нови функции да врши разни манипулации со низи. Со TOROW, можете да извршите трансформации од опсег до ред за кратко време. Еве список на задачи што оваа нова функција може да ги исполни:
Excel TOROW функција
Функцијата TOROW во Excel се користи за конвертирање низа или опсег на ќелии во еден ред.
Функцијата зема вкупно три аргументи, од кои е потребен само првиот.
TOROW(низа, [игнорирај], [скенирање_по_колона])Каде:
Низа (задолжително) - низа или опсег за трансформирање во еден ред.
Игнорирај (изборно) - одредува дали да се игнорираат празни места или/и грешки. Може да земе една од овие вредности:
- 0 или испуштена (стандардно) - да ги задржи сите вредности
- 1 - да ги игнорира празнините
- 2 - да ги игнорира грешките
- 3 - игнорирај празни места и грешки
Scan_by_column (опционално) - дефинира како да се скенира низата:
- FALSE или испуштена (стандардно) - скенирајте ја низата хоризонтално по ред.
- ТОЧНО - скенирајте ја низата вертикално по колона.
Совети:
- За трансформирање низа во една колона, искористете ја функцијата TOCOL.
- За да се преформира обратна трансформација од ред во низа, користете ја функцијата WRAPCOLS за завиткување во колони или функцијата WRAPROWS за завиткувањениза во редови.
- За да ги претворите редовите во колони, користете ја функцијата TRANSPOSE.
Достапност TOROW
TOROW е нова функција, која е поддржана само во Excel за Microsoft 365 (за Windows и Mac) и Excel за веб.
Основна формула TOROW во Excel
За да направите едноставна трансформација од опсег до ред, користете ја формулата TOROW во својата основна форма. За ова, треба да го дефинирате само првиот аргумент ( низа ).
На пример, за претворање на дводимензионална низа која се состои од 3 колони и 3 редови во еден ред, формулата е:
=TOROW(A3:C6)
Ја внесувате формулата во само една ќелија (А10 во нашиот случај), и таа автоматски се прелева во онолку ќелии колку што е потребно за да се задржат сите резултати. Во термини на Excel, излезниот опсег опкружен со тенка сина граница се нарекува опсег на истурање.
Како функционира оваа формула:
Прво, доставениот опсег на ќелии се трансформира во дводимензионална низа. Забележете ги колоните и редовите разделени со запирка:
{"Apple","Banana","Cherry";1,2,3;4,5,6;7,8,9}
Потоа, функцијата TOROW ја чита низата од лево кон десно и ја претвора во еднодимензионална хоризонтална низа:
{"Apple","Banana","Cherry",1,2,3,4,5,6,7,8,9}
Резултатот оди во ќелијата A10, од која се прелева во соседната ќелија од десната страна.
Пренеси го опсегот во ред игнорирајќи ги празни места и грешки
Стандардно, функцијата TOROW ги задржува сите вредности од изворната низа, вклучувајќи ги и празните ќелии игрешки. На излезот, на местото на празни ќелии се појавуваат нула вредности, што може да биде прилично збунувачки.
За исклучување на празни места , поставете го аргументот ignore на 1:
=TOROW(A3:C5, 1)
За да игнорирате грешки , поставете го аргументот игнорирај на 2:
=TOROW(A3:C5, 2)
За да прескокнете и празни и грешки , користете 3 за аргументот игнорирај :
=TOROW(A3:C5, 3)
Сликата подолу ги прикажува сите три сценарија во акција:
Читајте ја низата хоризонтално или вертикално
Со стандардното однесување, функцијата TOROW ја обработува низата хоризонтално од лево кон десно. За да ги скенирате вредностите по колона од врвот до дното, го поставивте третиот аргумент ( scan_by_column ) на TRUE или 1.
На пример, за читање на опсегот на изворот по ред, формулата во E3 е:
=TOROW(A3:C5)
За скенирање на опсегот по колона, формулата во E8 е:
=TOROW(A3:C5, ,TRUE)
Во двата случаи, добиените низи се со иста големина, но вредностите се подредени по различен редослед.
Спојувајте повеќе опсези во еден ред
За да комбинирате неколку несоседни опсези во еден ред, прво ги ставате хоризонтално или вертикално во една низа со помош на HSTACK или VSTACK, соодветно , а потоа користете ја функцијата TOROW за да ја конвертирате комбинираната низа во ред.
Во зависност од вашата деловна логика, една од следните формули ќе ја изврши задачата.
Средете ги низите хоризонтално и претворете ги според ред
Со првиотопсег во A3:C4 и вториот опсег во A8:C9, формулата подолу ќе ги собере двата опсези хоризонтално во една низа, а потоа ќе ја трансформира во ред што ги чита вредностите од лево кон десно. Резултатот е во E3 на сликата подолу.
=TOROW(HSTACK(A3:C4, A8:C9))
Средете ги низите хоризонтално и конвертирате по колона
За да ја прочитате наредената низа вертикално од врвот до дното, го поставивте третиот аргумент на TOROW на TRUE како што е прикажано на E5 на сликата подолу:
=TOROW(HSTACK(A3:C4, A8:C9), ,TRUE)
Средете ги низите вертикално и претворете ги по ред
За да се додадат сите последователна низа до дното на претходната низа и прочитајте ја комбинираната низа хоризонтално, формулата во E12 е:
=TOROW(VSTACK(A3:C4, A8:C9))
Средете ги низите вертикално и претворете ги по колона
За да ја додадете секоја следна низа на дното на претходната и да ја скенирате комбинираната низа вертикално, формулата е:
=TOROW(VSTACK(A3:C4, A8:C9), ,TRUE)
За подобро разбирање на логиката, набљудувајте го различниот редослед на вредности во добиените низи:
Екстрактирајте уникатни вредности од опсег во ред
Почнувајќи со Microsoft Excel 2016, имаме прекрасна функција, наречена UNIQUE, која лесно може да добие уникатни вредности од една колона или ред. Сепак, не може да се справи со низи со повеќе колони. За да го надминете ова ограничување, користете ги заедно функциите UNIQUE и TOROW.
На пример, за да ги извлечете сите различни (различни) вредности од опсегот A2:C7 и да ги поставите резултатите во еден ред,формулата е:
=UNIQUE(TOROW(A2:C7), TRUE)
Бидејќи TOROW враќа еднодимензионална хоризонтална низа, го поставивме вториот ( by_col ) аргумент на UNIQUE на TRUE за да ги споредиме колоните наспроти секоја друго.
Во случај да сакате резултатите подредени по азбучен ред, завиткајте ја горната формула во функцијата SORT:
=SORT(UNIQUE(TOROW(A2:C7), TRUE), , ,TRUE )
Како и кај UNIQUE, by_col Аргументот на SORT е исто така поставен на TRUE.
TOROW алтернатива за Excel 365 - 2010
Во верзии на Excel каде функцијата TOROW не е достапна, можете да трансформирате опсег во еден ред користејќи комбинација од неколку различни функции кои работат во постари верзии. Овие решенија се посложени, но функционираат.
За хоризонтално скенирање на опсегот, генеричката формула е:
INDEX( опсег , QUOTIENT(COLUMN (A1)-1, COLUMNS( опсег ))+1, MOD(COLUMN(A1)-1, COLUMNS( опсег ))+1)За вертикално скенирање на опсегот, генеричката формула е :
INDEX( опсег , MOD(COLUMN(A1)-1, COLUMNS( опсег ))+1, QUOTIENT(COLUMN (A1)-1, COLUMNS( опсег ))+1)За нашата база на податоци за примерок во A3:C5, формулите ја добиваат оваа форма:
За скенирање на опсегот по ред:
=INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1)
Оваа формула е алтернатива на функцијата TOROW со 3-тиот аргумент поставен на FALSE или испуштен:
=TOROW(A3:C5)
За скенирање на опсегот со колона:
=INDEX($A$3:$C$5, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1)
Оваа формула е еквивалентна на функцијата TOROW со 3-ти аргумент поставен наТОЧНО:
=TOROW(A3:C5, ,TRUE)
Ве молиме имајте предвид дека за разлика од функцијата TOROW динамичка низа, овие традиционални формули треба да се внесат во секоја ќелија каде што сакате да се појават резултатите. Во нашиот случај, првата формула (по ред) оди на Е3 и се копира преку М3. Втората формула (по колона) слетува во E8 и се влече низ M8.
За формулите да се копираат правилно, го заклучуваме опсегот користејќи апсолутни референци ($A$3:$C$5). Именуваниот опсег исто така ќе го направи.
Ако сте ги копирале формулите во повеќе ќелии отколку што е потребно, #REF! грешка ќе се појави во „екстра“ ќелии. За да го поправите ова, завиткајте ја формулата во функцијата IFERROR вака:
=IFERROR(INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1), "")
Како функционираат овие формули
Подолу е детален преглед од првата формула која ги распоредува вредностите по ред:
=INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1)
Во срцето на формулата, ја користиме функцијата INDEX за да ја добиеме вредноста на ќелијата врз основа на нејзината релативна позиција во опсег.
бројот на редот се пресметува со оваа формула:
QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1
Идејата е да се произведе повторлива броена низа како 1,1 ,1,2,2,2,3,3,3, ... каде што секој број се повторува онолку пати колку што има колони во изворниот опсег. И еве како го правиме ова:
QUOTIENT го враќа целобројниот дел од поделбата.
За броител , користиме COLUMN(A1)-1, што враќа сериски број од 0 во првата ќелија каде што формулата се внесува во n (вкупен број на вредности во опсеготминус 1) во последната ќелија каде што е внесена формулата. Во овој пример, имаме 0 во E2 и 8 во M3.
За именителот , користиме COLUMNS($A$3:$C$5)). Ова враќа константен број еднаков на бројот на колони во вашиот опсег (3 во нашиот случај).
Како резултат на тоа, функцијата QUOTIENT враќа 0 во првите 3 ќелии (E3:G3), на кои ние додадете 1, па бројот на редот е 1.
За следните 3 ќелии (H3:J3), QUOTIENT враќа 1, а +1 го дава редот број 2. И така натаму.
За да го пресметате бројот на колоната , градите соодветна броена низа користејќи ја функцијата MOD:
MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5))+1
Бидејќи во нашиот опсег има 3 колони, низата мора да изгледа вака : 1,2,3,1,2,3,…
Функцијата MOD го враќа остатокот по делењето.
Во E3, MOD(COLUMN(A1)-1, COLUMNS($ A$3:$C$5))+
станува
MOD(1-1, 3)+1)
и враќа 1.
Во F3, MOD(COLUMN(B1)-1, COLUMNS($A$3:$C$5))+
станува
MOD(2-1, 3)+1)
и враќа 2.
Откако ќе се воспостават броевите на редовите и колоните, INDEX лесно ја презема вредноста на пресекот на тој ред и колона.
Во E3, INDEX($A$3 :$C$5, 1, 1) враќа вредност од 1-виот ред и 1-ва колона од референтниот опсег, т.е. од ќелијата A3.
Во F3, INDEX($A$3:$C$5, 1, 2) враќа вредност од 1-виот ред и 2-та колона, т.е. од ќелијата B3.
И така натаму.
Втората формула која го скенира опсегот по колона, работи восличен начин. Разликата е во тоа што користиме MOD за да го пресметаме бројот на редот и QUOTIENT за да го дознаеме бројот на колоната.
Функцијата TOROW не работи
Ако функцијата TOROW резултира со грешка, тоа е најверојатно е една од овие причини:
#NAME? грешка
Кај повеќето функции на Excel, има #NAME? грешката е јасен показател дека името на функцијата е погрешно напишано. Со TOROW, тоа може да значи и дека функцијата не е достапна во вашиот Excel. Ако вашата верзија на Excel е различна од 365, обидете се да користите алтернатива TOROW.
#NUM грешка
Грешка #NUM покажува дека вратената низа не може да се вклопи во ред. Најчесто тоа се случува кога повикувате цели колони и/или редови наместо помал опсег.
#SPILL error
Во повеќето случаи, грешката #SPILL сугерира дека редот каде ја внесовте формулата нема доволно празни ќелии за да се прелеат резултатите. Ако соседните ќелии се визуелно празни, проверете дали во нив нема празни места или други знаци што не се печатат. За повеќе информации, видете Што значи грешка #SPILL во Excel.
Така ја користите функцијата TOROW во Excel за да конвертирате 2-димензионална низа или опсег во еден ред. Ви благодарам што прочитавте и се надевам дека ќе се видиме на нашиот блог следната недела!
Вежбајте работна книга за преземање
Excel TOROW функција - примери на формула (датотека .xlsx)