Динамический диапазон данных

Программирование на Visual Basic for Applications
fishmen
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 14.09.2005 (Ср) 8:52

Динамический диапазон данных

Сообщение fishmen » 04.05.2006 (Чт) 17:56

HELP!!!
Совсем сломал голову. Помогите решить одну задачку. Как используя только функции EXCEL найти след. сумму в диапазоне?
Есть диапазон данных:
СтолбуцА; СтолбецB
Имя1 ; -
- ; 10
- ; 2
- ; 39
Имя2 ; -
- ; 40
- ; 30
Имя3
и т.д.

Надо подсчитать сумму значений в столбце B между "Имя1" и "Имя2" (51). Проблема в том, что кол-во строк между именами заранее неизвестно, т.е может динамически изменяться. Но название имен остается неизменным.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.05.2006 (Чт) 18:10

Проще всего растянуть имя в своём диапазоне и использовать сводную таблицу.

А так - ПОИСКПОЗ(), СУММ()
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

smaharbA
Новичок
Новичок
 
Сообщения: 30
Зарегистрирован: 16.06.2005 (Чт) 5:08

Сообщение smaharbA » 04.05.2006 (Чт) 19:07

ОФФ: GSerg - нравится мне твой "слогон"...
может всеже чтото подскажеш по http://bbs.vbstreets.ru/viewtopic.php?t=24979
Я конечно далек от мысли...(с)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.05.2006 (Пт) 3:12

Нет, smaharbA, не подскажу, ибо ASP.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.05.2006 (Пт) 7:55

Также можно использовать вспомогательную табличку (ниже основной) и СУММЕСЛИ().
Lasciate ogni speranza, voi ch'entrate.

fishmen
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 14.09.2005 (Ср) 8:52

Сообщение fishmen » 05.05.2006 (Пт) 8:25

Всем спасибо!
Решение найдено

=СУММ(ДВССЫЛ(АДРЕС(ПОИСКПОЗ("имя1";A:A;0)+1;2;;1)):ДВССЫЛ(АДРЕС(ПОИСКПОЗ("имя2";A:A;0)-1;2;;1)))

Так просто и красиво!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.05.2006 (Пт) 9:47

Подумай, что будет с последним именем.
Lasciate ogni speranza, voi ch'entrate.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 05.05.2006 (Пт) 9:59

Вместо ДВССЫЛ и АДРЕС проще, на мой взгляд, использовать СМЕЩ. С последним именем геморрой будет в любом случае, наличие или отсутствие проблем зависит от конкретной постановки задачи.
Быть... или не быть. Вот. В чём вопрос?


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 56

    TopList