Прескочи на основното съдържание

Как да конвертирате матрица във вектор или единична колона в Excel?

Автор: Xiaoyang Последна промяна: 2020-05-08

Опитвали ли сте някога да конвертирате матрица от клетки в един ред или колона в Excel? Може би можете да копирате ред или колона и да ги поставите един по един в един вектор, но това ще отнеме много време, ако има няколко реда и колони. В тази статия ще говоря за някои интересни методи и се надявам да ви помогнат.

Преобразувайте матрица от клетки в единичен ред или колона с формули

Преобразувайте матрица от клетки в единичен ред или колона с Kutools за Excel


Следните формули могат да ви помогнат бързо да преобразувате матрицата в единичен ред или колона. Моля, направете следното:

Преобразувайте матрица от клетки в една колона

1. На първо място, трябва да дефинирате име на диапазон за данните на матрицата. Изберете диапазона от клетки и въведете име на диапазон в Кутия за име който е до лентата с формули и след това натиснете Въведете ключ. В този случай въвеждам „Matrix“ като дефинирано име, вижте екранната снимка:

doc конвертиране на матрица в колона 1

2. След това въведете следните формули:

(1.) Преобразувайте матрицата в една колона въз основа на ред, това означава, че стойностите се вземат от всеки ред, като се движат напречно и надолу: =OFFSET(Матрица,TRUNC((ROW()-ROW($G$1))/COLUMNS(Matrix)),MOD(ROW()-ROW($G$1),COLUMNS(Matrix)),1,1)(матрица е името на диапазона, който сте дефинирали в стъпка 1, и G1 е клетката, в която въвеждате тази формула). След това плъзнете манипулатора за попълване към клетките, докато се покаже 0, вижте екранната снимка:

doc конвертиране на матрица в колона 2

(2.) Преобразувайте матрицата в единична колона въз основа на колона, това означава, че стойностите се вземат от колони, като се преместват една колона надолу и след това към дясната колона: =OFFSET(Матрица,MOD(ROW()-ROW($G$1),ROWS(Матрица)),TRUNC((ROW()-ROW($G$1))/ROWS(Matrix)),1,1) (матрица е името на диапазона, който сте дефинирали в стъпка 1, и G1 е клетката, в която въвеждате тази формула). След това плъзнете манипулатора за попълване към клетките, докато се покаже 0, вижте екранната снимка:

doc конвертиране на матрица в колона 3

Преобразувайте матрица от клетки в един ред

За да преобразувате матрица от клетки в един ред, можете да използвате следните формули:

(1.) Преобразувайте матрицата в един ред въз основа на ред, това означава, че стойностите се вземат от всеки ред отляво надясно на един ред и след това се придвижват надолу към следващия ред: =OFFSET(Матрица,TRUNC((COLUMN()-COLUMN($A$7))/COLUMNS(Matrix)),MOD((COLUMN()-COLUMN($A$7)),COLUMNS(Matrix)),1,1 ) (матрица е името на диапазона, който сте създали за вашия диапазон от данни, и A7 е клетката, в която въвеждате тази формула). След това плъзнете манипулатора за попълване надясно към клетките, докато се покаже 0, вижте екранната снимка:

doc конвертиране на матрица в колона 4

(2.) Преобразувайте матрицата в единичен ред на базата на колона, това означава, че стойностите се вземат от всяка колона, като се придвижват една колона надолу и след това към дясната колона: =OFFSET(Матрица,MOD((COLUMN()-COLUMN($A$7)),ROWS(Matrix)),TRUNC((COLUMN()-COLUMN($A$7))/(ROWS(Matrix))),1,1 ,XNUMX) (матрица е името на диапазона, който сте създали за вашия диапазон от данни, и A7 е клетката, в която въвеждате тази формула). След това плъзнете манипулатора за попълване надясно към клетките, докато се покаже 0, вижте екранната снимка:

doc конвертиране на матрица в колона 5


Ако горните формули са твърде дълги за запомняне, тук мога да препоръчам лесен и мощен инструмент – Kutools за Excel, Със своята Обхват на трансформация помощна програма, можете бързо да конвертирате множество колони и редове в една колона или ред, както ви е необходимо.

Kutools за Excel : с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни.

След инсталиране Kutools за Excel, моля, направете следните стъпки:

1. Изберете матрицата от клетки, които искате да конвертирате.

2, След това кликнете Kutools > Обхват > Обхват на трансформация, вижте екранна снимка:

3. В Обхват на трансформация диалогов прозорец, изберете Диапазон до една колона ако искате да конвертирате матрицата в една колона, или изберете Диапазон до един ред ако искате да конвертирате матрицата в един ред, вижте екранната снимка:

doc конвертиране на матрица в колона 07

4, След това кликнете OK бутон и изскочи Обхват на трансформация изберете клетка, където искате да поставите резултата, вижте екранната снимка:

doc конвертиране на матрица в колона 08

5, И после щракнете върху OK бутон, вашата избрана матрица от клетки е преобразувана в един ред или колона.

За да научите повече за тази помощна програма Transform Range.

 Изтеглете и изпробвайте безплатно Kutools за Excel сега!


Kutools за Excel: с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни. Изтеглете и изпробвайте безплатно сега!

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks much! Stacking a 2D matrix of data as a 1D column -> That was cool! Solved my problem precisely. Though I had to tweak the formula to get it right (I think the row and col are interchanged)... But the inspiration was from this article. Simply superb! Thanks!
This comment was minimized by the moderator on the site
Fantastic explanation - thank you. This helped me save hours of time
This comment was minimized by the moderator on the site
I'd like to accomplish this same task but with a range that is not so neatly defined. I've got wholes in the data and my matrix is spaced out over my spreadsheet rather than in a neatly define A1:D4 style block. Any ideas on how I can accomplish this?
This comment was minimized by the moderator on the site
Hi, Kevin:

The following VBA code can help you to combine the cells from a range:

Sub a()
Dim xSRg As Range
Dim xDRg As Range
Dim I As Long
Dim J As Long
Dim K As Long
Dim xArr
On Error Resume Next
Set xSRg = Application.InputBox("Please select the data range:", "KuTools for Excel", Selection.Address, , , , , 8)
If xSRg Is Nothing Then Exit Sub
Set xDRg = Application.InputBox("Select an output cell:)", "KuTools for Excel", , , , , , 8)
If xDRg Is Nothing Then Exit Sub
xArr = xSRg
K = 0
For I = 1 To UBound(xArr, 1)
For J = 1 To UBound(xArr, 2)
If xArr(I, J) <> "" Then
xDRg.Offset(K, 0).Value = xArr(I, J)
K = K + 1
End If
Next
Next
End Sub

Please try it, Hope it can help you!
This comment was minimized by the moderator on the site
Thank you!!!!
This comment was minimized by the moderator on the site
I had the same issue, put a filter on that column, and anything that has 0, filter out.
This comment was minimized by the moderator on the site
This is so useful! The formula to convert a matrix to single column based on column was exactly what I needed. Thank you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations