Перейти до основного матеріалу

Як перетворити матрицю у вектор або окремий стовпець у Excel?

Ви коли-небудь пробували перетворити матрицю комірок в один рядок або стовпець в Excel? Можливо, ви можете скопіювати рядок або стовпець і вставити їх по одному в один вектор, але це забирає багато часу, якщо є кілька рядків і стовпців. У цій статті я розповім про кілька цікавих методів і сподіваюся, що вони вам допоможуть.

Перетворіть матрицю комірок в один рядок або стовпець за допомогою формул

Перетворіть матрицю клітинок на один рядок або стовпець за допомогою Kutools для Excel


Наступні формули можуть допомогти вам швидко перетворити матрицю в один рядок або стовпець. Будь ласка, виконайте наступне:

Перетворити матрицю комірок в один стовпець

1. Перш за все, слід визначити назву діапазону для даних матриці. Виділіть діапазон комірок і введіть ім'я діапазону в Ім'я поля який знаходиться поруч із рядком формул, а потім натисніть Що натомість? Створіть віртуальну версію себе у ключ. У цьому випадку я ввожу “Matrix” як визначене ім’я, див. Знімок екрана:

doc перетворити матрицю в стовпець 1

2. Потім введіть такі формули:

(1.) Перетворити матрицю в один стовпець на основі рядка, це означає, що значення беруться з кожного рядка, рухаючись поперек, потім вниз: = OFFSET (Matrix, TRUNC ((ROW () - ROW ($ G $ 1)) / COLUMNS (Matrix)), MOD (ROW () - ROW ($ G $ 1), COLUMNS (Matrix)), 1,1)(Матриця - назва діапазону, яку ви визначили на кроці 1, та G1 - клітинка, яку ви вводите в цю формулу). Потім перетягніть маркер заповнення до комірок, поки не відобразиться 0, див. Знімок екрана:

doc перетворити матрицю в стовпець 2

(2.) Перетворити матрицю в одиночний стовпець на основі стовпця, це означає, що значення беруться зі стовпців, переміщаючись вниз на один стовпець, а потім у правий стовпець: = OFFSET (Matrix, MOD (ROW () - ROW ($ G $ 1), ROWS (Matrix)), 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 (Matrix, 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. Потім натисніть Кутулс > Діапазон > Діапазон трансформації, див. скріншот:

3, в Діапазон трансформації діалог, виберіть Діапазон до однієї колонки якщо ви хочете перетворити матрицю в один стовпець, або виберіть Діапазон до одного рядка якщо ви хочете перетворити матрицю в один рядок, див. знімок екрана:

doc перетворити матрицю в стовпець 07

4. Потім натисніть OK і вискочить Діапазон трансформації виберіть клітинку, куди ви хочете поставити результат, див. знімок екрана:

doc перетворити матрицю в стовпець 08

5. А потім клацніть OK , вибрана вами матриця комірок перетворена в один рядок або стовпець.

Щоб дізнатися більше про цю утиліту Transform Range.

 Завантажте та безкоштовну пробну версію Kutools для Excel зараз!


Kutools для Excel: з більш ніж 300 зручними надбудовами Excel, спробуйте безкоштовно без обмежень протягом 30 днів. Завантажте та безкоштовно пробну версію зараз!

Найкращі інструменти продуктивності офісу

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

Покращуйте свої навички 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