Як пераключаць слупкі і радкі ў Excel

  • Падзяліцца Гэтым
Michael Brown

Падручнік паказвае розныя спосабы пераключэння радкоў у слупкі ў Excel: формулы, код VBA і спецыяльны інструмент.

Транспанаванне даных у Excel - задача, знаёмая многім карыстальнікам. Даволі часта вы ствараеце складаную табліцу толькі для таго, каб зразумець, што мае сэнс павярнуць яе для лепшага аналізу або прадстаўлення даных на графіках.

У гэтым артыкуле вы знойдзеце некалькі спосабаў пераўтварэння радкоў у слупкі (або слупкі ў радкі), як бы вы гэта не называлі, усё адно і тое ж : ) Гэтыя рашэнні працуюць ва ўсіх версіях Excel 2010 да Excel 365, ахопліваюць мноства магчымых сцэнарыяў і тлумачаць найбольш тыповыя памылкі.

    Пераўтварыце радкі ў слупкі ў Excel з дапамогай спецыяльнай устаўкі

    Выкажам здагадку, што ў вас ёсць набор дадзеных, падобны да таго, што вы бачыце ў верхняй частцы малюнкаў ніжэй. Назвы краін арганізаваны ў слупкі, але спіс краін занадта доўгі, таму нам лепш замяніць слупкі на радкі, каб табліца змясцілася на экране:

    Каб пераключыць радкі на слупкі, выканайце наступныя крокі:

    1. Выберыце зыходныя даныя. Каб хутка вылучыць усю табліцу, г.зн. усе ячэйкі з дадзенымі ў электроннай табліцы, націсніце Ctrl + Home, а затым Ctrl + Shift + End .
    2. Скапіруйце вылучаныя ячэйкі, пстрыкнуўшы правай кнопкай мышы на вылучэнні і выбраўшы Скапіруйце з кантэкстнага меню або націснуўшы Ctrl + C .
    3. Выберыце першую ячэйку дыяпазону прызначэння.

      Абавязкова вылучыце ячэйку, якаяпаспрабуйце гэты і 70+ іншых прафесійных інструментаў для Excel, я запрашаю вас спампаваць пробную версію нашага Ultimate Suite. Дзякуй за чытанне, і я спадзяюся ўбачыць вас у нашым блогу на наступным тыдні!

      выходзіць за межы дыяпазону, які змяшчае вашы зыходныя дадзеныя, так што вобласці капіравання і ўстаўкі не перакрываюцца. Напрыклад, калі ў вас зараз 4 слупкі і 10 радкоў, пераўтвораная табліца будзе мець 10 слупкоў і 4 радкі.
    4. Пстрыкніце правай кнопкай мышы ячэйку прызначэння і абярыце Спецыяльная ўстаўка з поля кантэкстнае меню, затым выберыце Транспазіраваць .

    Для атрымання дадатковай інфармацыі, калі ласка, гл. Як выкарыстоўваць спецыяльную ўстаўку ў Excel.

    Заўвага. Калі вашы зыходныя даныя ўтрымліваюць формулы, не забудзьцеся правільна выкарыстоўваць адносныя і абсалютныя спасылкі ў залежнасці ад таго, ці трэба іх карэкціраваць, ці заставацца заблакаванымі для пэўных вочак.

    Як вы толькі што бачылі, асаблівасць "Спецыяльная ўстаўка" дазваляе вам выконваць пераўтварэнні з радка ў слупок (ці слупка ў радок) літаральна за некалькі секунд. Гэты метад таксама капіюе фарматаванне вашых зыходных даных, што дадае яшчэ адзін аргумент на яго карысць.

    Аднак гэты падыход мае два недахопы , якія не дазваляюць назваць яго ідэальным рашэннем для транспанавання даныя ў 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, каб зрабіць яе формулай масіву.

    Вуаля, слупкі ёсць зменена на радкі, менавіта так, як мы хацелі:

    Перавагі функцыі TRANSPOSE:

    Асноўная перавага выкарыстання функцыі TRANSPOSE - што павернутая табліца захоўвае сувязь з зыходнай табліцай і кожны раз, калі вы змяняеце зыходныя даныя, транспанаваная табліца будзе змяняцца адпаведна.

    Слабыя бакі функцыі TRANSPOSE:

    • Зыходнае фарматаванне табліцы не захоўваецца ў ператворанай табліцы, як вы бачыце на скрыншоце вышэй.
    • Калі ў зыходнай табліцы ёсць пустыя ячэйкі, замест іх транспанаваныя ячэйкі будуць утрымліваць 0. Каб выправіць гэта, выкарыстоўвайце TRANSPOSE у спалучэнні з функцыяй IF, як тлумачыцца ў гэтым прыкладзе: Як транспанаваць без нулёў.
    • Вы не можаце рэдагаваць ячэйкі ў павернутай табліцы, таму што гэта вельмі залежыць ад зыходных даных. Калі вы паспрабуеце змяніць нейкае значэнне ячэйкі, вы атрымаеце паведамленне пра памылку "Вы не можаце змяніць частку масіва".

    У заключэнне, якой бы добрай і простай у выкарыстанні ні была функцыя TRANSPOSE , яму, вядома, не хапае гнуткасці і таму можа быць не лепшымспосаб пайсці ў многіх сітуацыях.

    Для атрымання дадатковай інфармацыі, калі ласка, глядзіце функцыю TRANSPOSE Excel з прыкладамі.

    Пераўтварыце радок у слупок з дапамогай функцый INDIRECT і ADDRESS

    У гэтым прыкладзе, будзе выкарыстоўваць камбінацыю дзвюх функцый, што трохі складана. Такім чынам, давайце павернем меншую табліцу, каб лепш засяродзіцца на формуле.

    Выкажам здагадку, у вас ёсць даныя ў 4 слупках (A - D) і 5 радках (1 - 5):

    Каб слупкі пераключыліся на радкі, зрабіце наступнае:

    1. Увядзіце наступную формулу ў самую левую ячэйку дыяпазону прызначэння, скажам, A7, і націсніце клавішу Enter :

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

    2. Скапіруйце формулу направа і ўніз у столькі радкоў і слупкоў, колькі неабходна, перацягваючы маленькі чорны крыжык у правым ніжнім куце вылучаных вочак:

    Вось і ўсё! У вашай толькі што створанай табліцы ўсе слупкі пераключаюцца на радкі.

    Калі вашы даныя пачынаюцца з радка, акрамя 1, і слупка, адрознага ад A, вам трэба будзе выкарыстоўваць крыху больш складаную формулу:

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

    Дзе A1 — самая верхняя левая ячэйка вашай зыходнай табліцы. Таксама звярніце ўвагу на выкарыстанне абсалютных і адносных спасылак на ячэйкі.

    Аднак транспанаваныя ячэйкі выглядаюць вельмі проста і сумна ў параўнанні з зыходнымі дадзенымі:

    Але не расчароўвайцеся, гэтую праблему можна лёгка выправіць. Каб аднавіць зыходнае фарматаванне, трэба зрабіць наступнае:

    • Скапіруйце арыгіналтабліцу.
    • Абярыце атрыманую табліцу.
    • Пстрыкніце атрыманую табліцу правай кнопкай мышы і абярыце Параметры ўстаўкі > Фарматаванне .

    Перавагі : Гэтая формула забяспечвае больш гнуткі спосаб пераўтварэння радкоў у слупкі ў Excel. Гэта дазваляе ўносіць любыя змены ў транспанаваную табліцу, таму што вы выкарыстоўваеце звычайную формулу, а не формулу масіва.

    Недахопы : я бачу толькі адзін - страчана фарматаванне парадкавых даных. Аднак вы можаце хутка аднавіць яго, як паказана вышэй.

    Як працуе гэтая формула

    Цяпер, калі вы ведаеце, як выкарыстоўваць камбінацыю INDIRECT / ADDRESS, вы можаце зразумець, што формула сапраўды працуе.

    Як вынікае з назвы, функцыя 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:= "Транспанаваць радкі ў слупкі" , Type :=8) Set DestRange = Application.InputBox (Prompt:= "Вылучыце верхнюю левую ячэйку дыяпазону прызначэння" , Title:= "Транспанаваць радкі ў слупкі" , Type :=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 і націсніце Выканаць .

  • Абярыце дыяпазон, дзе вы хочаце пераключыць радкі і слупкі, і націсніце ОК :
  • Выберыце левую верхнюю ячэйку дыяпазону прызначэння і націсніце ОК :
  • Атрымлівайце асалоду ад вынікам :)

    Пераключайце слупкі і радкі з дапамогай інструмента Transpose

    Калі вам трэба рэгулярна пераўтвараць радок у слупок, магчыма, вы шукаеце больш хуткі і просты спосаб. На шчасце, у мяне ёсць такі спосаб у маім Excel, і таксама ёсць у іншых карыстальнікаў нашага Ultimate Suite :)

    Дазвольце мне паказаць вам, як пераключаць радкі і слупкі ў Excel літаральна ў пару клікаў:

    1. Абярыце любую асобную ячэйку ў табліцы, перайдзіце на ўкладку Ablebits > Transform і націсніце кнопку Transpose .

  • Настройкі па змаўчанні ў большасці выпадкаў працуюць добра, так што вы проста націскаеце Транспанаванне , нічога не змяняючы.
  • Калі вы жадаеце Уставіць толькі значэнні або Стварыць спасылкі на зыходныя даныя , каб прымусіць павернутую табліцу аўтаматычна абнаўляцца пры кожнай змене, якую вы ўносіце ў зыходную табліцу, выберыце адпаведная опцыя.

    Гатова! Табліца перанесена, фарматаванне захавана, дадатковыя маніпуляцыі не патрэбныя:

    Калі вам цікава

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.