Транспонирование строк в столбцы с пробелом

У меня есть таблица с одним столбцом и значения следующие:

A B C * D E * F G H I 

* Указывает на пустую ячейку. В любом случае, я могу заставить его читать следующее: каждый из них находится в другой ячейке?

 1 2 3 DE FGHI 

Я получил это =IF(ISBLANK(A12),TRANSPOSE(A13:A23),"") который помогает, но диапазон установлен на 10. Как установить его так, чтобы он выглядел следующей пустой ячейкой после A13 и возвратил одну ячейку?

Благодаря,

JJ

Нет встроенной функции, которая может выполнять эту задачу. Я создал пользовательскую функцию, которая должна быть в состоянии сделать трюк. Для правильной работы входные данные должны быть в одном столбце с пустыми ячейками, определяющими «разрывы строк» ​​транспонированной выходной матрицы.

Включите следующий код в модуль VBA.

 Option Explicit Function TransposeSpecial(InpRng As Range) Dim Cell As Range Dim c1 As Integer, c2 As Integer, i As Integer, j As Integer, k As Integer Dim TArr() If TypeName(InpRng) <> "Range" Then Exit Function 'Get dimentions For Each Cell In InpRng If Cell.Value <> vbNullString Then i = i + 1 Else c1 = c1 + 1 If i > c2 Then c2 = i i = 0 End If Next Cell c1 = c1 + 1 If i > c2 Then c2 = i i = 1 j = 1 'Defines the dimention of the output array ReDim TArr(1 To c1, 1 To c2) 'Writes to array For Each Cell In InpRng If Cell.Value <> vbNullString Then TArr(i, j) = Cell.Value j = j + 1 Else For k = j To c2 TArr(i, k) = vbNullString Next k i = i + 1 j = 1 End If Next Cell If j <= c2 Then For k = j To c2 TArr(i, k) = vbNullString Next k End If TransposeSpecial = TArr End Function 

Теперь, используя эту функцию с единственным столбцом данных в качестве входных данных, на диапазоне (по крайней мере) достаточно большим, чтобы содержать всю выходную матрицу, вы должны получить желаемый результат. Не забывайте использовать Ctrl + Shift + Enter при работе с функциями, которые должны возвращать матрицу.

введите описание изображения здесь

  • Преобразование столбцов нескольких значений в новый ключ, пары значений
  • Excel для переноса определенных ячеек из строки в столбец
  • VBA: транспонировать последнюю строку
  • Математическая транспозиция в excel
  • Ошибка времени выполнения 1004 Невозможно вставить новые ячейки, потому что они будут выталкивать непустые новые ячейки с конца рабочего листа
  • Interesting Posts

    Python 3 Pandas – Колонка с дополнительными \ n \ t \ t \ t \ t \ t

    Fidder не захватывает трафик Power Query в MS Excel

    Добавьте итоговые значения из строк, которые в остальном идентичны

    Как я могу извлечь значение с внешнего сайта с помощью Element ID с помощью Excel / VBA?

    Вставьте заголовок в начале листа Excel

    Проблема с использованием Vlookup в выражении функции SUMIFS

    Как получить доступ к переменной получателя почты?

    Excel: оставить ячейку формулы пустой, если входная ячейка пуста

    Как использовать VBA, чтобы нажать кнопку на веб-странице после того, как вы вошли в систему?

    Добавить точки в текстовую строку, используя форматирование пользовательских ячеек – Microsoft Excel

    условное форматирование для всех строк

    генерировать Excel-лист с помощью Apache poi с проверкой электронной почты

    Автоматическое обновление графика диаграммы рассеяния Excel

    тип несоответствия при вытягивании .значение из рабочей книги

    Дата SUMIF в столбце B меньше даты в столбце C

    Давайте будем гением компьютера.