Страницы: 1
RSS
Значения под категориями в одном столбце
 
Здравствуйте,

боюсь показаться очень неосведомленной со своим возможно очень простым вопросом, но прошу подсказать как можно решить следующую задачу:
список дается в формате одного столбца с категориями/именами и их значениями, напр. имя, потом ниже несколько значений относящихся к этому имени, потом следующее имя с его значениями и тд.

как укоротить этот список, оставив только имена с суммой значений в соседнем правом столбце?

Заранее благодарна
 
vaskova, здравствуйте. Перво-наперво с вас файл-пример с 2мя листами: "как есть" и "как надо"  ;)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
в скрепочке файл пример
 
vaskova, если не заморачиваться:
1) Присвоить имя каждой строчке: Если в ячейке не число - поставить его.Если число - взять значение ячейкой выше
2) Числа - если в ячейке число - копировать
3) Суммировать по критерию имени
4) Удалить дубликаты
5) ??????
6) PROFIT!!
In GoTo we trust
 
Такой вариант
Названия (формула массива, вводится одновременным нажатием Контрл Шифт Ентер)
=ЕСЛИОШИБКА(ИНДЕКС(B:B;НАИМЕНЬШИЙ(ЕСЛИ(ЕТЕКСТ(B$3:B$99);СТРОКА(B$3:B$99));СТРОКА(H1)));"")
Сумма (обычная формула)
=СУММПРОИЗВ(--(ПРОСМОТР(СТРОКА(B$3:B$99);СТРОКА(B$3:B$99)/ЕТЕКСТ(B$3:B$99);B$3:B$99)=H3);B$3:B$99)
Скажи мне, кудесник, любимец ба’гов...
 
tolstak, спасибо за вариант!
_Boroda_, СПАСИБО!!! как вы это делаете??!? 8-0  :)  
 
Цитата
vaskova написал:  _Boroda_ ,... как вы это делаете??!?
Дернул волосинку из бороды, трах-тибидох-тибидох! :)
 
Код
Sub InsertSumInGroup()
Dim lstr&, y&, r As Range, lev As Range
lstr = Cells(Rows.Count, 2).End(xlUp).Row
Set lev = Range("B3:B" & lstr).SpecialCells(2, 1)
Application.ScreenUpdating = False
For Each r In lev.SpecialCells(2, 1).Areas
    y = y + 1
        Cells(y + 3, 5) = WorksheetFunction.sum(Cells(r.Row, 2).Resize(r.Rows.Count + 1))
        Cells(y + 3, 4) = Cells(r.Row - 1, 2)
    Next
Application.ScreenUpdating = True
End Sub
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Вариант макросом.
"Все гениальное просто, а все простое гениально!!!"
 
вы все гении! я ваша должница!
спасибо за быструю помощь!
 
vaskova, мой вариант макроса от Владимира (спасибо ему за ценный урок  ;)  ).
До варианта со словарями от Nordheim пока не дорос  :D
КОД
Оказывается, проверка If IsNumeric(rng.Cells(1)) = 1 Then не работает, как надо. Заменил на If IsNumeric(rng.Cells(1)) Then
Изменено: Jack Famous - 17.10.2017 11:40:10
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх