Како да менувате колони и редови во Excel

  • Споделете Го Ова
Michael Brown

Упатството прикажува различни начини за префрлање на редови во колони во Excel: формули, VBA код и специјална алатка.

Транспонирањето податоци во Excel е задача позната на многу корисници. Доста често правите сложена табела само за да сфатите дека е сосема логично да ја ротирате за подобра анализа или прикажување на податоците во графикони.

Во оваа статија ќе најдете неколку начини за претворање на редови во колони (или колони до редови), како и да го наречете, истото е :) Овие решенија функционираат во сите верзии на Excel 2010 преку Excel 365, покриваат многу можни сценарија и ги објаснуваат повеќето типични грешки.

    Конвертирајте ги редовите во колони во Excel користејќи Paste Special

    Да претпоставиме дека имате база на податоци слична на она што го гледате во горниот дел од графиката подолу. Имињата на државите се организирани во колони, но списокот на земји е премногу долг, па затоа е подобро да ги смениме колоните во редови за табелата да се вклопи во екранот:

    За да ги префрлите редовите во колони, извршете ги овие чекори:

    1. Изберете ги оригиналните податоци. За брзо да ја изберете целата табела, односно сите ќелии со податоци во табела, притиснете Ctrl + Home и потоа Ctrl + Shift + End .
    2. Копирајте ги избраните ќелии или со десен клик на изборот и изберете Копирај од контекстното мени или со притискање на Ctrl + C .
    3. Изберете ја првата ќелија од дестинацискиот опсег.

      Бидете сигурни да изберете ќелија којапробајте го ова и повеќе од 70 други професионални алатки за Excel, ве поканувам да преземете пробна верзија на нашиот Ultimate Suite. Ви благодариме што прочитавте и се надевам дека ќе се видиме на нашиот блог следната недела!

      спаѓа надвор од опсегот што ги содржи вашите оригинални податоци, така што областите за копирање и за залепување не се преклопуваат. На пример, ако моментално имате 4 колони и 10 редови, конвертираната табела ќе има 10 колони и 4 редови.
    4. Десен клик на одредишната ќелија и изберете Вметни специјално од контекстното мени, потоа изберете Транспонирање .

    За повеќе информации, погледнете Како да користите Paste Special во Excel.

    Забелешка. Ако вашите изворни податоци содржат формули, погрижете се правилно да користите релативни и апсолутни референци во зависност од тоа дали тие треба да се прилагодат или да останат заклучени за одредени ќелии.

    Како што штотуку видовте, функцијата Paste Special ви овозможува да извршите трансформации од ред до колона (или од колона до ред) буквално за неколку секунди. Овој метод исто така го копира форматирањето на вашите оригинални податоци, што додава уште еден аргумент во негова корист.

    Меѓутоа, овој пристап има два недостатоци што го спречуваат да се нарече совршено решение за транспонирање податоци во Excel:

    • Не е добро прилагоден за ротирање на целосно функционални табели на Excel. Ако ја копирате целата табела и потоа го отворите дијалогот Посебно залепување , ќе најдете дека опцијата Транспонира е оневозможена. Во овој случај, треба или да ја копирате табелата без заглавија на колоните или прво да ја претворите во опсег.
    • Залепете специјално > Транспонирање не ја поврзува новата масасо оригиналните податоци, па затоа е добро прилагоден само за еднократни конверзии. Секогаш кога ќе се променат изворните податоци, ќе треба да го повторите процесот и да ја ротирате табелата повторно. Никој не би сакал да го губи своето време на префрлање на истите редови и колони одново и одново, нели?

    Како да се транспонира табела и да се поврзе со оригиналните податоци

    Ајде видете како можете да ги префрлите редовите во колони користејќи ја познатата техника Залепете специјално , но поврзете ја добиената табела со оригиналната база на податоци. Најдоброто нешто во врска со овој пристап е тоа што секогаш кога ќе ги промените податоците во изворната табела, превртената табела ќе ги одразува промените и соодветно ќе се ажурира.

    1. Копирајте ги редовите што сакате да ги претворите во колони (или колони да се промени во редови).
    2. Изберете празна ќелија во истиот или друг работен лист.
    3. Отворете го дијалогот Залепете специјално , како што е објаснето во претходниот пример и кликнете Залепете врска во долниот лев агол:

    Ќе имате резултат сличен на овој:

  • Изберете ја новата табела и отворете го дијалогот „Најди и замени“ на Excel (или притиснете Ctrl + H за веднаш да стигнете до јазичето Замени ).
  • Заменете ги сите =" знаци со „xxx“ или кој било друг знак(и) што не постои никаде во вашите вистински податоци.
  • Ова ќе ја претвори вашата табела во нешто малку страшно, како што гледате на скриншот подолу, но не паничете,уште само 2 чекори и ќе го постигнете посакуваниот резултат.

  • Копирајте ја табелата со вредностите „xxx“, а потоа користете Залепете специјално > Транспонирајте за да ги превртите колоните во редови
  • На крајот, отворете го дијалогот Најди и замени уште еднаш за да ја промените промената, т.е. заменете ги сите „xxx“ со „=" за да го вратите линкови до оригиналните ќелии.
  • Ова е малку долго, но елегантно решение, нели? Единствениот недостаток на овој пристап е што оригиналното форматирање се губи во процесот и ќе треба рачно да го вратите (ќе ви покажам брз начин да го направите ова понатаму во ова упатство).

    Како за транспонирање во Excel користејќи формули

    Побрз начин за динамичко префрлање на колони во редови во Excel е со користење на формулата TRANSPOSE или INDEX/ADDRESS. Како и претходниот пример, овие формули исто така ги задржуваат врските со оригиналните податоци, но работат малку поинаку.

    Променете ги редовите во колони во Excel користејќи ја функцијата TRANSPOSE

    Како што сугерира неговото име, функцијата TRANSPOSE е специјално дизајниран за транспонирање податоци во Excel:

    =TRANSPOSE(низа)

    Во овој пример, ќе конвертираме друга табела која ги наведува државите на САД по население:

    1. Сметајте го бројот на редови и колони во вашата оригинална табела и изберете ист број на празни ќелии, но во друга насока.

      На пример, нашата табела за примероци има 7 колони и 6 редови, вклучувајќинаслови. Бидејќи функцијата TRANSPOSE ќе ги промени колоните во редови, избираме опсег од 6 колони и 7 редови.

    2. Со избраните празни ќелии, напишете ја оваа формула:

      =TRANSPOSE(A1:G6)

    3. Бидејќи нашата формула треба да се примени на повеќе ќелии, притиснете Ctrl + Shift + Enter за да ја направите формула за низа.

    Voila, колоните се сменети во редови, точно како што сакавме:

    Предности на функцијата TRANSPOSE:

    Главната придобивка од користењето на функцијата TRANSPOSE е дека ротираната табела ја задржува врската со изворната табела и секогаш кога ги менувате изворните податоци, транспонираната табела соодветно ќе се промени.

    Слабости на функцијата TRANSPOSE:

    • Оригиналното форматирање на табелата не е зачувано во конвертираната табела, како што гледате на сликата од екранот погоре.
    • Ако има празни ќелии во оригиналната табела, транспонираните ќелии наместо тоа ќе содржат 0. За да го поправите ова, користете TRANSPOSE во комбинација со функцијата IF како што е објаснето во овој пример: Како да се транспонирате без нули.
    • Не можете да уредувате ниедна ќелија во ротираната табела бидејќи тоа е многу зависно од изворните податоци. Ако се обидете да промените некоја вредност на ќелијата, ќе завршите со грешката „Не можете да промените дел од низата“.

    Завршување, без разлика што е добра и лесна за употреба функцијата TRANSPOSE , сигурно нема флексибилност и затоа можеби не е најдобарво многу ситуации.

    За повеќе информации, погледнете ја функцијата Excel TRANSPOSE со примери.

    Конвертирај ред во колона со функциите INDIRECT и ADDRESS

    Во овој пример, ќе користи комбинација од две функции, што е малку незгодно. Значи, ајде да ротираме помала табела за подобро да се фокусираме на формулата.

    Да претпоставиме дека имате податоци во 4 колони (A - D) и 5 ​​редови (1 - 5):

    За колоните да се префрлат на редови, направете го следново:

    1. Внесете ја формулата подолу во левата клетка од дестинацискиот опсег, на пример A7, и притиснете го копчето Enter :

      =INDIRECT(ADDRESS(COLUMN(A1),ROW(A1)))

    2. Копирајте ја формулата надесно и надолу до онолку редови и колони колку што е потребно со влечење на малиот црн крст во долниот десен агол на избраните ќелии:

    Тоа е тоа! Во вашата новосоздадена табела, сите колони се префрлени во редови.

    Ако вашите податоци започнуваат во некој ред освен 1 и колона различна од А, ќе мора да користите малку посложена формула:

    =INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1), ROW(A1) - ROW($A$1) + COLUMN($A$1)))

    Каде што A1 е горната лева ќелија од вашата изворна табела. Исто така, имајте предвид употребата на апсолутни и релативни референци на клетките.

    Сепак, транспонираните ќелии изгледаат многу обични и досадни, во споредба со оригиналните податоци:

    Но, не се разочарувајте, овој проблем може лесно да се реши. За да го вратите оригиналното форматирање, еве што правите:

    • Копирајте го оригиналоттабела.
    • Изберете ја добиената табела.
    • Десен клик на добиената табела и изберете Опции за залепување > Форматирање .

    Предности : оваа формула обезбедува пофлексибилен начин за претворање на редовите во колони во Excel. Овозможува правење какви било промени во транспонираната табела бидејќи користите обична формула, а не формула за низа.

    Недостатоци : Можам да видам само една - форматирањето на редните податоци е изгубено. Сепак, можете брзо да го вратите, како што е прикажано погоре.

    Како функционира оваа формула

    Сега кога знаете како да ја користите комбинацијата ИНДИРЕКТ/АДРЕСА, можеби ќе сакате да добиете увид за тоа што формулата всушност прави.

    Како што сугерира нејзиното име, функцијата INDIRECT се користи за индиректно упатување на ќелија. Но, вистинската моќ на INDIRECT е тоа што може да ја претвори секоја низа во референца, вклучително и низа што ја создавате користејќи други функции и вредности на други ќелии. И тоа е токму она што ќе го направиме. Ако го следите ова, лесно ќе го разберете сето останато : )

    Како што се сеќавате, користевме уште 3 функции во формулата - АДРЕСА, КОЛУНА и РЕД.

    Функцијата ADDRESS ја добива адресата на ќелијата според броевите на редовите и колоните што ги наведовте, соодветно. Ве молиме запомнете го редоследот: прв - ред, втор - колона.

    Во нашата формула, ние ги доставуваме координатите во обратен редослед, и овае она што всушност го прави трикот! Со други зборови, овој дел од формулата ADDRESS(COLUMN(A1),ROW(A1)) ги заменува редовите со колони, т.е. зема број на колона и го менува во број на ред, потоа зема број на ред и го претвора во колона број.

    Конечно, функцијата INDIRECT ги дава ротираните податоци. Воопшто нема ништо страшно, нели?

    Транспонирајте податоци во Excel користејќи VBA макро

    За автоматизирање на конверзијата на редови во колони во Excel, можете да го користите следново макро:

    Sub TransposeColumnsRows () Dim SourceRange as Range Dim DestRange as Range Set SourceRange = Application.InputBox(Prompt:= "Ве молиме изберете го опсегот за транспонирање" , Title:= "Transpose Rows to Columns" , Type :=8) Поставете DestRange = Application.InputBox (Промпт:= „Изберете ја горната лева ќелија од опсегот на одредиштето“ , Наслов:= „Пренеси ги редовите во колони“ , Тип :=8) SourceRange.Copy DestRange. Изберете Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False, Transpose:= True Application.CutCopyMode = False End Sub

    За да додадете макро на вашиот работен лист, следете ги упатствата опишани во Како да вметнете и вклучете VBA код во Excel.

    Забелешка. Транспонирањето со VBA, има ограничување од 65536 елементи. Во случај вашата низа да ја надмине оваа граница, дополнителните податоци тивко ќе бидат отфрлени.

    Како да го користите макрото за да конвертирате ред во колона

    Со макрото вметната во вашата работна книга, направете го долучекори за ротирање на вашата табела:

    1. Отворете го целниот работен лист, притиснете Alt + F8 , изберете го макрото TransposeColumnsRows и кликнете Изврши .

  • Изберете го опсегот каде што сакате да менувате редови и колони и кликнете OK :
  • Изберете ја горната лева ќелија од дестинацискиот опсег и кликнете OK :
  • Уживајте во резултатот :)

    Пременувајте колони и редови со алатката Transpose

    Ако треба редовно да вршите трансформации од ред во колона, можеби всушност барате побрз и поедноставен начин. За среќа, јас имам таков начин во мојот Excel, а исто така и другите корисници на нашиот Ultimate Suite :)

    Дозволете ми да ви покажам како да менувате редови и колони во Excel буквално со неколку кликања:

    1. Изберете која било клетка во вашата табела, одете во групата Ablebits > Трансформирајте и кликнете на копчето Транспонирање .

  • Стандардните поставки функционираат добро во повеќето случаи, па едноставно кликнете Транспонирајте без да менувате ништо.
  • Ако сакате да Залепите само вредности или да создадете врски до изворните податоци за да ја принудите ротираната табела автоматски да се ажурира со секоја промена што ја правите на оригиналната табела, изберете соодветната опција.

    Готово! Табелата е транспонирана, форматирањето е зачувано, не се потребни дополнителни манипулации:

    Ако сте љубопитни да

    Мајкл Браун е посветен технолошки ентузијаст со страст за поедноставување на сложените процеси користејќи софтверски алатки. Со повеќе од една деценија искуство во технолошката индустрија, тој ги усоврши своите вештини во Microsoft Excel и Outlook, како и Google Sheets и Docs. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.