-2

У меня есть массив данных о продукте, который включает в себя код, описание и стоимость. код уникален, стоимость числова, а описание не уникально. Пожалуйста, посмотрите пример. Как я могу выбрать самый дешевый из каждого продукта на основе описания и цены?

Это результат использования формулы MIN.

2 ответа2

1

Добавьте эту формулу массива в качестве нового "самого низкого" столбца (настраивая диапазон для фактического диапазона) и скопируйте:

={IF(B2=MIN(IF($A$2:$A$9=A2,$B$2:$B$9)),"Y","")}
0

Я написал следующий VBa для вас

    Dim hasRows As Boolean
    hasRows = True

    Dim currentRow As Integer
    currentRow = 2

    Dim previousProduct As String
    Dim currentProduct As String
    Dim rowOfProduct As Integer
    Dim lowPrice As Integer
    lowPrice = -999 ' dummy number
    Do While (hasRows)

        currentProduct = Range("A" & currentRow).Value

        If (previousProduct = "") Then
            previousProduct = currentProduct
        Else

            If (previousProduct <> currentProduct) Then
                lowPrice = -999 'dummy again
                Range("B" & rowOfProduct).Interior.ColorIndex = 36
            End If

        End If

        If (Range("A" & currentRow).Value = "") Then
            hasRows = False
            Exit Do
        End If

        If (lowPrice = -999) Then
            lowPrice = Range("B" & currentRow).Value
            rowOfProduct = currentRow
        Else
            If Range("B" & currentRow).Value < lowPrice Then
                lowPrice = Range("B" & currentRow).Value
                rowOfProduct = currentRow
            End If
        End If

        previousProduct = currentProduct
        currentRow = currentRow + 1
    Loop

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .