2016-06-29 3 views
-1

Нужна помощь на ниже запроса в Excel, Это senariorUpdate первенствует

description    version type Expected output 
1-Upgrade Kit   165737 A     B 
7668A CPU UPGRADE  165737 B     B 
ASSY,PCB,P2MB,VME,  165737 B     B 
UPGRADE,EPROM   165737 B     B 
KIT,7668A CPU UPGRADE  165738 B     B 
1-Upgrade Kit    165738 A     B 
1-Upgrade Kit   165739  A     C 
KIT,7668A CPU UPGRADE  165739 C     C 
KIT,7668A CPU UPGRADE 165739  C     C 

, как вы видите, что номер версии будет одинаковым для первых четырех строк, но тип имеет изменение, когда описание имеет строку «комплект обновления». Мы можем получить тип из других строк, если у нас есть такая же версия и описание, что и «комплект обновления»

+1

Привет, Tharun, добро пожаловать в SO. Трудно понять, что вы пытаетесь сделать. Не могли бы вы отредактировать и быть более точными? Вы хотите, чтобы вы группировали записи одним и тем же столбцом 'version'? –

+0

Я хочу заменить тип, когда количество версий больше 1, а описание читает «Комплект обновления». Я хочу изменить значение типа так же, как в другом примере: первые четыре строки имеют одинаковые номера версий, но тип изменился, когда набор обновления description.same путь номер версии «165739» имеет три строки, но тип имеет изменение, когда decription читается как «комплект обновления», в этом случае я хочу рассмотреть тип из других строк. –

+0

Извините, это должен быть я, который не может понять эту логику. Можете ли вы записать алгоритм для этого? Если это так, любезно отредактируйте свой ** оригинальный вопрос ***. –

ответ

0

Если я правильно понял вашу проблему, это должно сделать трюк.

Я просматриваю все «описание», когда он находит «Комплект обновления», затем он ищет тот же номер версии и соответствующим образом изменяет тип.

Sub ChangeVersion() 

Dim rCell As Range 
Dim i As Integer 

Dim LastRow As Long 
LastRow = Cells(Rows.Count, "A").End(xlUp).Row 

Dim DescriptRng As Range 
Set DescriptRng = Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)) 

    For Each rCell In DescriptRng 

     If rCell = "1-Upgrade Kit" Then 
      For i = 2 To LastRow 
       If Cells(i, 2) = Cells(rCell.Row, 2) And Cells(i, 1) <> "1-Upgrade Kit" Then 
       Cells(rCell.Row, 3) = Cells(i, 3) 
       End If 
      Next i 
     End If 

    Next rCell 

End Sub 

Сообщите мне, подходит ли вам это.

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