Страницы: 1
RSS
Свод данных столбца по совпадающему слову, Свод данных столбца по совпадающему слову
 
Есть 2 столбца... 1 столбец наименование (есть наименование с повторяющимися элементами), 2 столбец показатель сумма - значение столбца 1. Могу ли я сделать свод 1 столбца по повторяющемуся элементу с итоговую суммы показателя? Например ( в столбце 1, есть строки ... Коврик, Коврик в коридор, Коврик для ванной, могу ли показатели по этим строкам собрать с помощью формулы по совпадающему слову Коврик? Я понимаю, что могу сделать фильтр, но в реальности в моей таблице более 1000000 строк, очень хочется автоматизировать работу. Заранее спасибо за помощь!
 
Таблица примерная с минимум строк.  
 
Нужен список кротких наименований.
Для вашего примера можно по первому слову и Сводная таблица
Изменено: Msi2102 - 17.06.2022 14:41:20
 
Цитата
написал:
собрать с помощью формулы по совпадающему слову Коврик
Код
=СУММЕСЛИМН(C2:C30;B2:B30;"=Коврик*")

Цитата
написал:
в реальности в моей таблице более 1000000 строк
Лучше макрос.
 
Код
=ФИЛЬТР(B:C;ЕСЛИОШИБКА(ПОИСК("коврик";B:B);0)=1)
 
Цитата
МатросНаЗебре написал:
Лучше макрос
Ну не знаю, без списка коротких наименований, либо списка исключений будет проблема. Например если анализировать три таких наименования:
"Рубашка мужска", "Кепка мужская" и "Кепка мужская красная", то скорее всего они все попадут в категорию мужская, а не разобьются на две "Кепка и "Рубашка"
Изменено: Msi2102 - 17.06.2022 14:50:58
 
Код
Sub test()
    mySumm Range("B2:B30"), Range("C2:C30"), Range("D2"), "Коврик"
End Sub

Sub mySumm(rNames As Range, rValue As Range, rTarget As Range, lookString As String)
    Dim aNam As Variant
    Dim aVal As Variant
    aNam = rNames
    aVal = rValue.Cells(1, 1).Resize(UBound(aNam, 1))
    
    Dim dd As Double
    Dim yy As Long
    For yy = 1 To UBound(aNam)
        If aNam(yy, 1) Like "*" & lookString & "*" Then
            dd = dd + aVal(yy, 1)
        End If
    Next
    
    rTarget.Value = dd
End Sub
Цитата
написал:
без списка коротких наименований, либо списка исключений будет проблема
Будут решаться по мере поступления )
 
Огромное спасибо за предложенный вариант, но есть но, Ваша формула, которая дает ID, считывает первое слово в столбце. Но в моей таблице есть варианты, где главное слово второе и третье. В связи с этим я ищу вариант формирования по повторяемому слову.... прикладываю скрин на примере Масло.... Если в столбце стоит Моторное масло, то данные не суммируются со строкой где написано Масло моторное.  
 
Код
=СУММ(C2:C30*ЕСЛИОШИБКА(ПОИСК("масло";B2:B30);0))
Изменено: Тимофеев - 17.06.2022 15:12:32
 
Цитата
Msi2102 написал:
Для вашего примера можно по первому слову
я Вам это и писал, это только относительно Вашего примера. Приложите пример который будет более менее отражать реальную картину. Но ещё раз повторюсь, скорее всего придется составлять список с короткими наименованиями, эту будет самый лучший вариант. Относительно Вашего скрина, как компьютер должен понять, что ключевое слово гидрофобное, а не масло. Можно конечно попытаться разбить по словам на подгруппы, например будет группа - "масло", подгруппа 1 - "гидрофобное", подгруппа 2 - "моторное" и т.д, но тут возникают проблемы склонениями, сопряжениями и т.п., я не думаю, что в бесплатной ветке этим будет кто-то заниматься
Изменено: Msi2102 - 17.06.2022 17:03:05
Страницы: 1
Наверх