Як транспонувати клітинки в одному стовпці на основі унікальних значень в іншому стовпці?
Припустимо, у вас є діапазон даних, який містить два стовпці, тепер ви хочете транспонувати клітинки в одному стовпці в горизонтальні рядки на основі унікальних значень в іншому стовпці, щоб отримати такий результат. Чи є у вас якісь ідеї для вирішення цієї проблеми в Excel?
Транспонуйте комірки в один стовпець на основі унікальних значень за допомогою формул
Транспонуйте комірки в один стовпець на основі унікальних значень за допомогою коду VBA
Транспонуйте комірки в один стовпець на основі унікальних значень за допомогою Kutools для Excel
Транспонуйте комірки в один стовпець на основі унікальних значень за допомогою формул
За допомогою наступних формул масиву ви можете витягти унікальні значення та транспонувати їх відповідні дані в горизонтальні рядки, будь-ласка, виконайте такі дії:
1. Введіть цю формулу масиву: = ІНДЕКС ($ A $ 2: $ A $ 16, ЗБІГ (0, COUNTIF ($ D $ 1: $ D1, $ A $ 2: $ A $ 16), 0)) наприклад, у порожню комірку, D2, і натисніть Shift + Ctrl + Enter клавіші разом, щоб отримати правильний результат, див. знімок екрана:
примітки: У наведеній вище формулі, A2: A16 - стовпець, з якого потрібно перерахувати унікальні значення, та D1 - клітина над цією клітинкою формули.
2. Потім перетягніть маркер заповнення до комірок, щоб витягти всі унікальні значення, див. Знімок екрана:
3. А потім продовжуйте вводити цю формулу в клітинку E2: =IFERROR(INDEX($B$2:$B$16, MATCH(0, COUNTIF($D2:D2,$B$2:$B$16)+IF($A$2:$A$16<>$D2, 1, 0), 0)), 0), і не забудьте натиснути Shift + Ctrl + Enter клавіші, щоб отримати результат, див. знімок екрана:
примітки: У наведеній вище формулі: B2: B16 - дані стовпця, які ви хочете транспонувати, A2: A16 - стовпець, на основі якого ви хочете перенести значення, та D2 містить унікальне значення, яке ви отримали на кроці 1.
4. Потім перетягніть маркер заповнення праворуч від комірок, в які потрібно перерахувати транспоновані дані, поки не відобразиться 0, див. Знімок екрана:
5. А потім продовжуйте перетягувати маркер заповнення до діапазону комірок, щоб отримати транспоновані дані, як показано на наступному знімку екрана:
Транспонуйте комірки в один стовпець на основі унікальних значень за допомогою коду VBA
Можливо, формули вам складні для розуміння, тут ви можете запустити такий код VBA, щоб отримати потрібний результат.
1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.
2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно
Код VBA: транспонування комірок в один стовпець на основі унікальних значень в іншому стовпці:
Sub transposeunique()
'updateby Extendoffice
Dim xLRow As Long
Dim i As Long
Dim xCrit As String
Dim xCol As New Collection
Dim xRg As Range
Dim xOutRg As Range
Dim xTxt As String
Dim xCount As Long
Dim xVRg As Range
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("please select data range(only two columns):", "Kutools for Excel", xTxt, , , , , 8)
Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
If xRg Is Nothing Then Exit Sub
If (xRg.Columns.Count <> 2) Or _
(xRg.Areas.Count > 1) Then
MsgBox "the used range is only one area with two columns ", , "Kutools for Excel"
Exit Sub
End If
Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
If xOutRg Is Nothing Then Exit Sub
Set xOutRg = xOutRg.Range(1)
xLRow = xRg.Rows.Count
For i = 2 To xLRow
xCol.Add xRg.Cells(i, 1).Value, xRg.Cells(i, 1).Value
Next
Application.ScreenUpdating = False
For i = 1 To xCol.Count
xCrit = xCol.Item(i)
xOutRg.Offset(i, 0) = xCrit
xRg.AutoFilter Field:=1, Criteria1:=xCrit
Set xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)
If xVRg.Count > xCount Then xCount = xVRg.Count
xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible).Copy
xOutRg.Offset(i, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Next
xOutRg = xRg.Cells(1, 1)
xOutRg.Offset(0, 1).Resize(1, xCount) = xRg.Cells(1, 2)
xRg.Rows(1).Copy
xOutRg.Resize(1, xCount + 1).PasteSpecial Paste:=xlPasteFormats
xRg.AutoFilter
Application.ScreenUpdating = True
End Sub
3. Потім натисніть F5 клавішу для запуску цього коду, і з'явиться підказка з нагадуванням про вибір діапазону даних, який ви хочете використовувати, див. знімок екрана:
4. А потім клацніть OK , з'явиться ще одне підказне вікно, щоб нагадати вам вибрати клітинку, щоб поставити результат, див. знімок екрана:
6. Клацання OK і дані в стовпці B транспоновані на основі унікальних значень у стовпці A, див. знімок екрана:
Транспонуйте комірки в один стовпець на основі унікальних значень за допомогою Kutools для Excel
Якщо у вас є Kutools для Excel, що поєднує в собі Розширені комбіновані ряди і Розділені клітини утиліти, ви можете швидко виконати це завдання без будь-яких формул або коду.
Kutools для Excel : з більш ніж 300 зручними надбудовами Excel, які можна спробувати без обмежень протягом 30 днів. |
після установки Kutools для Excel, будь ласка, виконайте наступне:
1. Виберіть діапазон даних, який ви хочете використовувати. (Якщо ви хочете зберегти вихідні дані, спершу скопіюйте та вставте дані в інше місце.)
2. Потім натисніть Кутулс > Злиття та розділення > Розширені комбіновані ряди, див. скріншот:
3, в Об'єднати рядки на основі стовпця діалоговому вікні, виконайте такі дії:
(1.) Клацніть назву стовпця, на основі якого потрібно транспортувати дані, та виберіть Первинний ключ;
(2.) Клацніть інший стовпець, який потрібно транспонувати, і натисніть Поєднувати потім виберіть один роздільник, щоб розділити комбіновані дані, такі як пробіл, кома, крапка з комою.
4. Потім натисніть Ok Кнопка, дані в стовпці B були об'єднані в одну комірку на основі стовпця A, див. знімок екрана:
5. А потім виділіть об’єднані комірки та натисніть Кутулс > Злиття та розділення > Розділені клітини, див. скріншот:
6, в Розділені клітини діалогове вікно, виберіть Розділити на стовпці під тип , а потім виберіть розділювач, який розділяє ваші об'єднані дані, див. знімок екрана:
7. Потім натисніть Ok і виберіть клітинку, щоб розмістити результат розбиття у спливаючому діалоговому вікні, див. знімок екрана:
8. Клацання OK, і ви отримаєте результат, як вам потрібно. Дивіться знімок екрана:
Завантажте та безкоштовну пробну версію Kutools для Excel зараз!
Демонстрація: Транспонуйте комірки в один стовпець на основі унікальних значень за допомогою Kutools для Excel
Найкращі інструменти для підвищення продуктивності офісу
Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%
- Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
- Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
- Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
- Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
- Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
- Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
- Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
- Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
- Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
















































