Страницы: 1
RSS
Превращение столбцов в строки
 
Форумчане, помогите справиться с задачей, впр и плекс не помогают. таблица содержит несколько тысяч строк. нужно привести ее к виду как в Примере. Заранее спасибо.
 
Цитата
alfa32 написал:
впр и плекс
ноги... крылья... главное - PQ  :)
Скрытый текст
Соблюдение правил форума не освобождает от модераторского произвола
 
Формула
Код
=IFERROR(INDEX($C$3:$C$100;AGGREGATE(15;6;ROW($1:$100)/ ($A$3:$A$100=$J3) / ($B$3:$B$100=$K3);COLUMNS($L:L)));"")
 
Еще вариант
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Цитата
нужно привести ее к виду как в Примере.
Код
Sub KD_FIO()
Dim i As Long
Dim iLastRow As Long
Dim j As Integer
Dim FoundKD As Range
Dim FAdr As String
 iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
 Range("J3:P" & iLastRow).ClearContents
   Range("J2") = Range("A2")
 Range("A2:A" & iLastRow).AdvancedFilter xlFilterCopy, CopyToRange:=Range("J2"), Unique:=True
 iLastRow = Cells(Rows.Count, "J").End(xlUp).Row
      For i = 3 To iLastRow
          j = 11
        Set FoundKD = Columns(1).Find(Cells(i, "J"), , xlValues, xlWhole)
         If Not FoundKD Is Nothing Then
            FAdr = FoundKD.Address
            Cells(i, j) = FoundKD.Offset(, 1)
          Do
           j = j + 1
           Cells(i, j) = Cells(FoundKD.Row, "C")
           Set FoundKD = Columns(1).FindNext(FoundKD)
          Loop While FoundKD.Address <> FAdr
         End If
      Next
End Sub

 
Всем большое спасибо за помощь и ответы. Пример Максима В работает, долго считает 7500 строк + в строках фамилий оставляет повторяющиеся значения (нужны только уникальные). Сама виновата, сделала неправильный пример.  Пример buchlotnik тоже оставляет повторяющиеся фамилии. С макросами сейчас буду разбираться, пока поняла как их вставлять в эксель 19 и сохранять в книгу с поддержкой макросов.
 
Цитата
alfa32 написал:
нужны только уникальные
сразу бы сказали - там дописать-то:
Скрытый текст
Соблюдение правил форума не освобождает от модераторского произвола
 
Доброе время суток
Цитата
buchlotnik написал:
list = List.Buffer(List.Transform({"1".."5"}, each "Ф.И.О. "&_))
Михаил, динамику было просто лень докрутить? :)
 
Ну чего сразу лень... просто не стал  :oops:
Скрытый текст
Соблюдение правил форума не освобождает от модераторского произвола
 
Михаил, скажите пожалуйста, если в примере (1)(1) я добавлю в левой части еще 7000 строк, что нужно нажать чтобы в правой части (зеленая таблица) появилось продолжение? спасибо.
 
Обновить запрос  ;)
Соблюдение правил форума не освобождает от модераторского произвола
 
Да, все получилось. Очень быстро работает. Спасибо большое, выручили.
 
Цитата
buchlotnik написал:
Ну чего
Да ничего особенного, но с таким решением - всё же гораздо лучше. Спасибо!
Страницы: 1
Наверх