Како променити колоне и редове у Екцелу

  • Деле Ово
Michael Brown

Водич показује различите начине за пребацивање редова у колоне у Екцел-у: формуле, ВБА код и посебан алат.

Транспоновање података у Екцел-у је задатак познат многим корисницима. Често правите сложену табелу само да бисте схватили да има савршеног смисла да је ротирате ради боље анализе или презентације података у графиконима.

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

    Претворите редове у колоне у Екцел-у помоћу специјалног лепљења

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

    Да бисте променили редове у колоне, извршите ове кораке:

    1. Изаберите оригиналне податке. Да бисте брзо изабрали целу табелу, тј. све ћелије са подацима у табели, притисните Цтрл + Хоме, а затим Цтрл + Схифт + Енд .
    2. Копирајте изабране ћелије било десним кликом на избор и избором Копирај из контекстног менија или притиском на Цтрл + Ц .
    3. Изаберите прву ћелију одредишног опсега.

      Обавезно изаберите ћелију којаиспробајте овај и 70+ других професионалних алата за Екцел, позивам вас да преузмете пробну верзију нашег Ултимате Суите-а. Хвала вам на читању и надам се да се видимо на нашем блогу следеће недеље!

      спада ван опсега који садржи ваше оригиналне податке, тако да се области копирања и лепљења не преклапају. На пример, ако тренутно имате 4 колоне и 10 редова, конвертована табела ће имати 10 колона и 4 реда.
    4. Кликните десним тастером миша на одредишну ћелију и изаберите Специјално налепи из контекстни мени, а затим изаберите Транспосе .

    За више информација погледајте Како се користи специјално лепљење у Екцел-у.

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

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

    Међутим, овај приступ има две мане које спречавају да се назове савршеним решењем за транспоновање подаци у Екцел-у:

    • Није погодан за ротирање потпуно функционалних Екцел табела. Ако копирате целу табелу, а затим отворите дијалог Специјално лепљење , видећете да је опција Транспоновање онемогућена. У овом случају, морате или да копирате табелу без заглавља колона или да је прво конвертујете у опсег.
    • Специјално лепљење &гт; Транспоновање не повезује нови стоса оригиналним подацима, тако да је погодан само за једнократне конверзије. Кад год се изворни подаци промене, мораћете да поновите процес и поново ротирате табелу. Нико не би желео да губи време на мењање истих редова и колона изнова и изнова, зар не?

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

    Хајде да погледајте како можете да пребаците редове у колоне користећи познату технику Специјално лепљење , али повежите резултујућу табелу са оригиналним скупом података. Најбоља ствар у вези са овим приступом је да кад год промените податке у изворној табели, окренута табела ће одражавати промене и ажурирати се у складу са тим.

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

    Имаћете резултат сличан овоме:

  • Изаберите нову табелу и отворите Екцелов дијалог Пронађи и замени (или притисните Цтрл + Х да бисте одмах дошли до картице Замени ).
  • Замени све " =" знакови са "ккк" или било који други карактер(и) који не постоји нигде у вашим стварним подацима.
  • Ово ће вашу табелу претворити у нешто помало застрашујуће, као што видите на слици испод, али не паничите,само још 2 корака и постићи ћете жељени резултат.

  • Копирајте табелу са вредностима „ккк“, а затим користите Специјално лепљење &гт; Транспонирај да окренеш колоне у редове
  • Коначно, још једном отворите дијалог Пронађи и замени да поништите промену, тј. замените све „ккк“ са „=" да бисте вратили везе до оригиналних ћелија.
  • Ово је мало дугачко, али елегантно решење, зар не? Једини недостатак овог приступа је то што се оригинално форматирање губи током процеса и мораћете да га вратите ручно (показаћу вам брз начин да то урадите даље у овом водичу).

    Како то учинити. за транспоновање у Екцел-у помоћу формула

    Бржи начин за динамичко пребацивање колона у редове у Екцел-у је коришћење формуле ТРАНСПОЗЕ или ИНДЕКС/АДРЕСА. Као и претходни пример, ове формуле такође задржавају везе са оригиналним подацима, али функционишу мало другачије.

    Промените редове у колоне у Екцел-у помоћу функције ТРАНСПОСЕ

    Као што њено име сугерише, функција ТРАНСПОСЕ је специјално дизајниран за транспоновање података у Екцел-у:

    =ТРАНСПОСЕ(арраи)

    У овом примеру ћемо конвертовати другу табелу која наводи америчке државе према становништву:

    1. Пребројите број редова и колона у оригиналној табели и изаберите исти број празних ћелија, али у другом смеру.

      На пример, наша табела узорка има 7 колона и 6 редова, укључујућинаслови. Пошто ће функција ТРАНСПОСЕ променити колоне у редове, бирамо опсег од 6 колона и 7 редова.

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

      =TRANSPOSE(A1:G6)

    3. Пошто нашу формулу треба применити на више ћелија, притисните Цтрл + Схифт + Ентер да бисте је претворили у формулу низа.

    Воила, колоне су промењено у редове, тачно онако како смо желели:

    Предности функције ТРАНСПОСЕ:

    Главна предност коришћења функције ТРАНСПОСЕ је да ротирана табела задржава везу са изворном табелом и кад год промените изворне податке, транспонована табела ће се променити у складу са тим.

    Слабости функције ТРАНСПОСЕ:

    • Оригинално обликовање табеле није сачувано у конвертованој табели, као што видите на слици изнад.
    • Ако у оригиналној табели постоје празне ћелије, транспоноване ћелије ће уместо њих садржати 0. Да бисте ово поправили, користите ТРАНСПОСЕ у комбинацији са функцијом ИФ као што је објашњено у овом примеру: Како транспоновати без нула.
    • Не можете уређивати ниједну ћелију у ротираној табели јер она у великој мери зависи од изворних података. Ако покушате да промените неку вредност ћелије, на крају ћете добити грешку „Не можете да промените део низа“.

    Закључујемо, шта год да је добра и лака за коришћење функција ТРАНСПОСЕ , свакако му недостаје флексибилност и стога можда није најбољиначин да идете у многим ситуацијама.

    За више информација, погледајте Екцел функцију ТРАНСПОСЕ са примерима.

    Претворите ред у колону са функцијама ИНДИРЕКТНЕ и АДРЕСЕ

    У овом примеру, користиће комбинацију две функције, што је мало незгодно. Дакле, хајде да ротирамо мању табелу да бисмо се боље фокусирали на формулу.

    Претпоставимо да имате податке у 4 колоне (А - Д) и 5 ​​редова (1 - 5):

    Да би се колоне пребациле на редове, урадите следеће:

    1. Унесите формулу испод у крајњу леву ћелију одредишног опсега, рецимо А7, и притисните тастер Ентер :

      =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)))

    Где је А1 најлева горња ћелија ваше изворне табеле. Такође, обратите пажњу на употребу апсолутних и релативних референци на ћелије.

    Међутим, транспоноване ћелије изгледају веома једноставно и досадно, у поређењу са оригиналним подацима:

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

    • Копирате оригиналтабелу.
    • Изаберите резултујућу табелу.
    • Кликните десним тастером миша на резултујућу табелу и изаберите Опције лепљења &гт; Форматирање .

    Предности : Ова формула пружа флексибилнији начин претварања редова у колоне у Екцел-у. Омогућава уношење било каквих измена у транспоновану табелу јер користите редовну формулу, а не формулу низа.

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

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

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

    Као што њено име каже, ИНДИРЕЦТ функција се користи за индиректно упућивање на ћелију. Али права моћ ИНДИРЕЦТ-а је у томе што може претворити било који стринг у референцу, укључујући стринг који градите користећи друге функције и вредности других ћелија. И то је управо оно што ћемо урадити. Ако пратите ово, све остало ћете разумети са лакоћом : )

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

    Функција АДДРЕСС добија адресу ћелије према бројевима реда и колоне које наведете, респективно. Запамтите редослед: први - ред, други - колона.

    У нашој формули, координате достављамо обрнутим редоследом, а овоје оно што заправо чини трик! Другим речима, овај део формуле АДРЕСА(ЦОЛУМН(А1),РОВ(А1)) замењује редове колонама, тј. узима број колоне и мења га у број реда, затим узима број реда и претвара га у колону број.

    Коначно, ИНДИРЕЦТ функција даје ротиране податке. Уопште није ништа страшно, зар не?

    Транспонујте податке у Екцел користећи ВБА макро

    Да бисте аутоматизовали конверзију редова у колоне у Екцел-у, можете користити следећи макро:

    Суб ТранспосеЦолумнсРовс () Дим СоурцеРанге Ас Ранге Дим ДестРанге Ас Ранге Подесите СоурцеРанге = Апплицатион.ИнпутБок(Промпт:= "Изаберите опсег за транспоновање" , Титле:= "Транспонујте редове у колоне" , Типе :=8) Поставите ДестРанге = Апплицатион.ИнпутБок (Промпт:= "Изаберите горњу леву ћелију одредишног опсега" , Титле:= "Транспонујте редове у колоне" , Типе :=8) СоурцеРанге.Цопи ДестРанге. Изаберите Селецтион.ПастеСпециал Пасте:=клПастеАлл, Оператион:=клНоне, СкипБланкс:= Фалсе , Транспосе:= Труе Апплицатион.ЦутЦопиМоде = Фалсе Енд Суб

    Да бисте додали макро на свој радни лист, пратите упутства описана у Како да уметнете и покрените ВБА код у Екцел-у.

    Напомена. Транспоновање са ВБА, има ограничење од 65536 елемената. У случају да ваш низ премаши ово ограничење, додатни подаци ће бити тихо одбачени.

    Како користити макро за претварање реда у колону

    Са макроом уметнутим у радну свеску, извршите следећекораци за ротирање табеле:

    1. Отворите циљни радни лист, притисните Алт + Ф8 , изаберите макро ТранспосеЦолумнсРовс и кликните на Рун .

  • Изаберите опсег у којем желите да промените редове и колоне и кликните на ОК :
  • Изаберите горњу леву ћелију одредишног опсега и кликните на ОК :
  • Уживајте у резултату :)

    Пребаците колоне и редове помоћу алата за транспоновање

    Ако треба да редовно обављате трансформације редова у колону, можда заправо тражите бржи и једноставнији начин. Срећом, ја имам такав начин у свом Екцел-у, као и други корисници нашег Ултимате Суите-а :)

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

    1. Изаберите било коју ћелију у вашој табели, идите на картицу Аблебитс &гт; Трансформ групу и кликните на дугме Транспосе .

  • Подразумеване поставке раде добро у већини случајева, тако да једноставно кликнете на Транспосе без промене било чега.
  • Ако желите да Налепите само вредности или Креирајте везе до изворних података да бисте натерали да се ротирана табела аутоматски ажурира са сваком променом коју направите у оригиналној табели, изаберите одговарајућа опција.

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

    Ако сте радознали да

    Мајкл Браун је посвећен технолошки ентузијаста са страшћу за поједностављење сложених процеса помоћу софтверских алата. Са више од деценије искуства у технолошкој индустрији, усавршио је своје вештине у Мицрософт Екцел-у и Оутлоок-у, као и у Гоогле табеле и документима. Мајклов блог посвећен је дељењу свог знања и стручности са другима, пружајући једноставне савете и упутства за побољшање продуктивности и ефикасности. Без обзира да ли сте искусан професионалац или почетник, Мајклов блог нуди вредне увиде и практичне савете како да на најбољи начин искористите ове основне софтверске алате.