Съдържание
В урока са показани няколко бързи начина за обръщане на таблици в Excel по вертикала и хоризонтала, като се запазват първоначалното форматиране и формулите.
Обръщането на данни в Excel звучи като тривиална задача с едно щракване, но изненадващо няма такава вградена опция. В ситуации, когато трябва да обърнете реда на данните в колона, подредена по азбучен ред или от най-малкия към най-големия, очевидно можете да използвате функцията за сортиране на Excel. Но как да обърнете колона с несортирани данни? Или как да обърнете реда на данните в таблица, подредена хоризонтално в редове?След малко ще получите всички отговори.
Обръщане на данните в Excel вертикално
Само с малко творчество можете да разработите няколко различни начина за обръщане на колона в Excel: чрез използване на вградени функции, формули, VBA или специални инструменти. Подробните стъпки за всеки метод следват по-долу.
Как да обърнете колона в Excel
За да обърнете реда на данните в дадена колона по вертикала, изпълнете следните стъпки:
- Добавете помощна колона до колоната, която искате да преобърнете, и попълнете тази колона с поредица от числа, започвайки от 1.Този съвет показва как това да се направи автоматично.
- Сортирайте колоната с числа в низходящ ред. За целта изберете която и да е клетка в помощната колона, отидете в Раздел Данни > Сортиране и филтриране и щракнете върху Сортиране от най-голям към най-малък бутон (ZA).
Както е показано на скрийншота по-долу, това ще сортира не само числата в колона В, но и оригиналните елементи в колона А, като ще обърне реда на редовете:
Сега можете спокойно да изтриете помощната колона, тъй като тя вече не ви е необходима.
Съвет: Как бързо да запълните колона със серийни номера
Най-бързият начин за попълване на колона с поредица от числа е чрез използване на функцията за автоматично попълване на Excel:
- Въведете 1 в първата клетка и 2 във втората клетка (клетки B2 и B3 на скрийншота по-долу).
- Изберете клетките, в които току-що сте въвели числата, и щракнете два пъти върху долния десен ъгъл на селекцията.
Това е всичко! Excel автоматично ще попълни колоната със серийни номера до последната клетка с данни в съседната колона.
Как да обърнете таблица в Excel
Горният метод работи и за обръщане на реда на данните в няколко колони:
Понякога (най-често когато изберете цялата колона с числа преди сортиране) Excel може да покаже Предупреждение за сортиране диалогов прозорец. В този случай проверете Разширяване на избора и след това щракнете върху Сортиране бутон.
Съвет. Ако искате да превключване на редове и колони , използвайте функцията TRANSPOSE на Excel или други начини за транспониране на данни в Excel.
Как да обръщате колони в Excel с помощта на формула
Друг начин за обръщане на колона с главата надолу е да използвате тази обща формула:
INDEX( обхват , ROWS( обхват ))За нашия примерен набор от данни формулата е следната:
=INDEX($A$2:$A$7,ROWS(A2:$A$7))
...и обръща колона А безупречно:
Как работи тази формула
В основата на формулата е функцията INDEX(array, row_num, [column_num]), която връща стойността на елемент в масив въз основа на зададените от вас номера на редове и/или колони.
В масива въвеждате целия списък, който искате да обърнете (A2:A7 в този пример).
Броят на редовете се определя от функцията ROWS. В най-простия си вид ROWS(array) връща броя на редовете в масива. масив . В нашата формула хитрото използване на относителните и абсолютните препратки е това, което прави трика с "обръщането на колоната":
- За първата клетка (B2) ROWS(A2:$A$7) връща 6, така че INDEX получава последния елемент в списъка (6-ия елемент).
- Във втората клетка (B3) относителната препратка A2 се променя на A3, следователно ROWS(A3:$A$7) връща 5, което принуждава INDEX да изтегли предпоследния елемент.
С други думи, ROWS създава своеобразен намаляващ брояч за INDEX, така че той се движи от последния елемент към първия.
Съвет: Как да замените формулите със стойности
Сега, след като имате две колони с данни, може да искате да замените формулите с изчислени стойности и след това да изтриете допълнителната колона. За целта копирайте клетките с формулите, изберете клетките, в които искате да поставите стойностите, и натиснете Shift+F10, след това V , което е най-бързият начин за прилагане на опцията Paste Special> Values на Excel.
За повече информация вижте Как да заменим формулите със стойности в Excel.
Как да обръщаме колони в Excel с VBA
Ако имате известен опит с VBA, можете да използвате следния макрос, за да обърнете вертикално реда на данните в една или няколко колони:
Dim Rng As Range Dim WorkRng As Range Dim Arr As Variant Dim i As Integer , j As Integer , k As Integer On Error Resume Next xTitleId = "Обърни колоните вертикално" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox( "Range" , xTitleId, WorkRng.Address, Type :=8) Arr = WorkRng.Formula Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For j = 1 ToUBound (Arr, 2) k = UBound (Arr, 1) For i = 1 To UBound (Arr, 1) / 2 xTemp = Arr(i, j) Arr(i, j) = Arr(k, j) Arr(k, j) = xTemp k = k - 1 Next Next WorkRng.Formula = Arr Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End SubКак се използва макросът Flip Columns
- Отворете прозореца на Microsoft Visual Basic for Applications ( Alt + F11 ).
- Кликнете върху Вмъкване на > Модул и поставете горния код в прозореца Код.
- Изпълнете макроса ( F5 ).
- Сайтът Обръщане на колони се появява диалогов прозорец, който ви подканва да изберете диапазон за обръщане:
Избирате една или повече колони с помощта на мишката, без да включвате заглавията на колоните, щраквате върху OK и ще получите резултата след малко.
За да запазите макроса, не забравяйте да запазите файла като Работна книга на Excel с активирани макроси .
Как да обръщате данни в Excel, като запазвате форматирането и формулите
С помощта на горните методи можете лесно да обърнете реда на данните в колона или таблица. Но какво да правите, ако искате да обърнете не само стойностите, но и форматите на клетките? Освен това, ако някои данни в таблицата се управляват от формули и искате да предотвратите нарушаването на формулите при обръщането на колоните? В този случай можете да използвате Флип функция, включена в нашия Ultimate Suite за Excel.
Да предположим, че имате добре форматирана таблица, както е показано по-долу, в която някои колони съдържат стойности, а други - формули:
Искате да преобърнете колоните в таблицата, като запазите както форматирането (сиво засенчване за редове с нулево количество), така и правилно изчислените формули. Това може да стане в две бързи стъпки:
- При избрана клетка в таблицата отидете в Данни от Ablebits tab> Преобразуване и щракнете върху Флип > Вертикално обръщане .
- В Вертикално обръщане конфигурирайте следните опции:
- В Изберете обхвата си проверете референтния диапазон и се уверете, че заглавният ред не е включен.
- Изберете Регулиране на препратките към клетките и проверете опцията Запазване на форматирането кутия.
- По желание изберете да Създаване на резервно копие (избрано по подразбиране).
- Щракнете върху Флип бутон.
Готово! Редът на данните в таблицата е променен, форматирането е запазено, а препратките към клетките във формулите са подходящо коригирани:
Обръщане на данните в Excel хоризонтално
Досега в този урок обърнахме колони с главата надолу. Сега нека разгледаме как да обърнем реда на данните хоризонтално, т.е. да обърнем таблица от ляво на дясно.
Как да обръщате редове в Excel
Тъй като в Excel няма опция за сортиране на редове, ще трябва първо да промените редовете в колони, след това да сортирате колоните и след това да транспонирате обратно таблицата си. Ето подробните стъпки:
- Използвайте функцията Paste Special> Transpose, за да преобразувате колоните в редове. В резултат на това вашата таблица ще претърпи тази трансформация:
- Добавете помощна колона с числа, както в първия пример, и след това сортирайте по помощната колона. Междинният ви резултат ще изглежда по следния начин:
- Използвайте Paste Special> Транспониране още веднъж, за да завъртите масата си обратно:
Забележка: Ако изходните ви данни съдържат формули, те може да бъдат нарушени по време на операцията по транспониране. В този случай ще трябва да възстановите формулите ръчно. Или можете да използвате инструмента за обръщане, включен в нашия Ultimate Suite, и той ще коригира всички препратки автоматично вместо вас.
Обръщане на реда на данните по хоризонтала с VBA
Представяме ви прост макрос, с който можете бързо да обърнете данните в таблицата на Excel хоризонтално:
Sub FlipDataHorizontally() Dim Rng As Range Dim WorkRng As Range Dim Arr As Variant Dim i As Integer , j As Integer , k As Integer On Error Resume Next xTitleId = "Flip Data Horizontally" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox( "Range" , xTitleId, WorkRng.Address, Type :=8) Arr = WorkRng.Formula Application.ScreenUpdating = False Application.Calculation =xlCalculationManual For i = 1 To UBound (Arr, 1) k = UBound (Arr, 2) For j = 1 To UBound (Arr, 2) / 2 xTemp = Arr(i, j) Arr(i, j) = Arr(i, k) Arr(i, k) = xTemp k = k - 1 Next Next WorkRng.Formula = Arr Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End SubЗа да добавите макроса към работната си книга на Excel, следвайте следните стъпки. Веднага след като стартирате макроса, ще се появи следният диалогов прозорец, в който ще трябва да изберете диапазон:
Избирате цялата таблица, включително заглавния ред, и щраквате върху OK . В един момент редът на данните в редовете се обръща:
Обръщане на данни в редовете с Ultimate Suite за Excel
Подобно на обръщането на колони, можете да използвате нашия Ultimate Suite за Excel, за да обърнете реда на данните в редовете. Просто изберете диапазон от клетки, които искате да обърнете, отидете в Данни от Ablebits tab> Преобразуване и щракнете върху Флип > Хоризонтално обръщане .
В Хоризонтално обръщане В този пример работим със стойности, затова избираме опциите, подходящи за вашия набор от данни. Само стойности за поставяне и Запазване на форматирането :
Щракнете върху Флип и масата ви ще се обърне от ляво на дясно за миг.
Ето как обръщате данни в Excel. Благодаря ви за прочита и се надявам да се видим в нашия блог следващата седмица!