2015-07-08 1 views
0

Вопрос -Смотрите на строку в столбце и получить все соответствующие значения в другом столбце в MS Excel 2010

Column 1 Column 2 
------------------ 
A   AB 
B   PR 
C   EF 
A   GH 
A   JK 
C   XY 
A   UV 
D   YZ 

Решение требуется

Query Column 2 column 3 column 4 Column 5 
    A   AB  GH  JK UV 
    B   PR 
    C   EF  XY 
    D   YZ 

мне нужны формулы Excel, не VBA или программирования ,

Tried Index & Сопоставьте формулы, которые дают мне значения для одной ячейки в соседнем столбце, но мне нужно получить все ссылки, как указано в таблице.

Нужно это в другом листе как резюме.

[Это Билл материала (BOM), таблица]

Итого 48000 строк и 15 столбцов есть в таблице, в то время как 15000 строк unique.We также необходима только два столбца из 15 для суммарной цели. Некоторые ячейки передаются в 20 раз или более, поэтому необходимо, чтобы все эти значения заполнялись в разных столбцах.

Лист, откуда я пытаюсь получить эти данные, связан с другим исходным файлом с использованием MS Query.

PS: Извините за предоставление информации в исходном запросе.

+0

Вы не дали фактический вопрос или предоставил много деталей. Например, вы ищете регулярные формулы электронных таблиц, формулы массивов или результат VBA? Требуется ли «Решение» на другом сводном листе или цель изменить исходный лист? Что вы пытались сделать (за исключением сообщения о неявном вопросе в Stack Overflow), и где вы столкнулись с трудностями? –

+0

Это часто задают и отвечают в той или иной форме. Недавний пример: [Транспонирование столбцов, чтобы избежать увольнений] (http://stackoverflow.com/questions/31226669/ms-excel-transposing-columns-to-avoid-redundancies/31226805). Если это не сортирует вас, изучите термин «транспонировать» на форуме Excel этого сайта. – Jeeped

+0

Мне нужны формулы Excel. Я попробовал формулы Index & Match, которые дают мне один столбец, но не уверены, как получить все ссылки. Добавьте это в другой лист по сравнению с листом, откуда я должен получить детали. – user3286682

ответ

0

Этот код создаст новый лист под названием RowsToColumns с вашими летними данными на нем.

Sub PostRowsToColumns() 
Dim X As Long, Y As Long, MyArr As Variant 
ActiveSheet.Copy After:=Sheets(Worksheets.Count) 
ActiveSheet.Name = "RowsToColumns" 
Range("A2:B" & Range("A" & Rows.Count).End(xlUp).Row).Sort Range("A1") 
Y = 2 
For X = 2 To Range("A" & Rows.Count).End(xlUp).Row 
    If Range("A" & X).text <> Range("A" & X).Offset(-1, 0).text Then 
     MyArr = Application.Transpose(Range("B" & X).Resize(WorksheetFunction.CountIf(Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row), Range("A" & X)), 1)) 
     Range("D" & Y) = Range("A" & X).text 
     If Range("B" & X).Resize(WorksheetFunction.CountIf(Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row), Range("A" & X)), 1).Rows.Count > 1 Then 
      Range("E" & Y).Resize(1, UBound(MyArr)) = MyArr 
     Else 
      Range("E" & Y) = MyArr 
     End If 
     Y = Y + 1 
    End If 
Next 
Columns("A:C").Delete Shift:=xlToLeft 
End Sub 
0

Если предположить, что столбец 1 является A2:A9 и столбец 2 B2:B9 затем с «уникальным списком» столбец 1 значений, начиная с A11 вы можете использовать эту формулу в B11, подтвержденное CTRL + SHIFT + ENTER и скопировал вниз и через

=IFERROR(INDEX($B$2:$B$9,SMALL(IF($A$2:$A$9=$A11,ROW($A$2:$A$9)-ROW($A$2)+1),COLUMNS($B11:B11))),"")

Вы можете расширить в Лос-Анджелес Диапазоны rger (или данных в других рабочих листах), но если у вас есть большое количество таких формул может замедлить вашу книгу значительно

Смотрите пример файла здесь:

https://www.dropbox.com/s/f1hqut8s6u0n7ln/Code%20List.xlsx?dl=0

+0

Привет, Барри, Большое спасибо ... это похоже на то, что я ищу. К сожалению, поскольку у меня более 20000 уникальных значений в столбце A excel занимает так много времени.Еще раз спасибо за формулу. У нас есть какая-либо формула без массива? – user3286682

Смежные вопросы