Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як транспонувати дані зі стовпця в одну клітинку в Excel?

Коли вам потрібно транспонувати список даних в одну клітинку на аркуші, як правило, ви можете застосувати З'єднати функція для об’єднання списку комірок в одну комірку, але вона буде складною, якщо потрібно об’єднати величезні дані. У цій статті я розповім про кілька швидких прийомів для вирішення цього завдання в Excel.

Транспонуйте дані зі стовпця в одну клітинку за допомогою визначеної користувачем функції

Транспонуйте дані зі стовпця в одну клітинку за допомогою Kutools для Excel


Окрім функції Concatenate для об’єднання списку значень комірок, ви можете застосувати наступний код VBA, щоб отримати результат якомога швидше.

1. Утримуйте клавішу ALT + F11 і відкриває Microsoft Visual Basic для додатків вікна.

2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно

Код VBA: Транспонування даних зі стовпця в одну клітинку

Function transposeRange(Rg As Range)
'updateby Extendoffice
    Dim xCell As Range
    Dim xStr As String
    For Each xCell In Rg
        If Not IsEmpty(xCell.Value) Then
            xStr = xStr & xCell.Value & ","
        End If
    Next
    transposeRange = Left(xStr, Len(xStr) - 1)
End Function

3. Потім збережіть і закрийте цей код, поверніться назад до робочого аркуша та введіть цю формулу: = діапазон транспонування (A1: A10) в пусту клітинку, щоб помістити результат, і натисніть вводити ключ, ви отримаєте всі значення комірок у стовпці, розташовані в одній комірці, див. знімок екрана:

doc транспонує клітини в одну комірку 1

примітки: У наведеному вище коді, A1: A10 - це діапазон списку, який ви хочете транспонувати в одну клітинку, а також, ви можете розділити об’єднаний вміст з іншими роздільниками, такими як кома, тире, пробіл тощо, просто змінивши кому у сценарії xStr = xStr & xCell.Value & ",".


Якщо у вас є Kutools для Excel, з його потужним інструментом-Поєднувати, Ви можете об'єднати дані в стовпці, рядку або діапазоні в одну комірку.

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

після установки Kutools для Excel, будь ласка, зробіть наступне :( Безкоштовно завантажте Kutools для Excel зараз! )

1. Виберіть стовпець даних, який потрібно об’єднати в одну комірку.

2. Клацання Кутулс > Злиття та розділенняПоєднуйте рядки, стовпці або комірки, не втрачаючи даних, див. скріншот:

3. У спливаючому діалоговому вікні виберіть Об’єднати в одну клітинку під Комбінувати виділені клітинки згідно з наступними параметрами, а потім вкажіть роздільник для відокремлення об’єднаного вмісту, див. знімок екрана:

doc транспонує клітини в одну комірку 3

4. Потім натисніть Ok or застосовувати , і ви отримаєте такий результат, як вам потрібно:

doc транспонує клітини в одну комірку 4 2 doc транспонує клітини в одну комірку 5

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


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

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

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sophie · 2 years ago
    Hi,

    Thanks a lot! I'm using your following function and it works very well. I would like to include an "if" function in the transposerange. What should I add to the function in VBA? Basically, it would work like a countif. So we would read the formula =transposerangeif(range,criteria).

    Thanks in advance!

    Function transposeRange(Rg As Range)
    'updateby Extendoffice 20151207
    Dim xCell As Range
    Dim xStr As String
    For Each xCell In Rg
    If Not IsEmpty(xCell.Value) Then
    xStr = xStr & xCell.Value & ","
    End If
    Next
    transposeRange = Left(xStr, Len(xStr) - 1)
    End Function
    • To post as a guest, your comment is unpublished.
      skyyang · 2 years ago
      Hello,Sophie,
      Could you give an example for your need, you can insert a screenshot here.
  • To post as a guest, your comment is unpublished.
    Eric · 3 years ago
    Thanks, this was very helpful.