Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2011, 16:55   #1
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию Сумировать ячейки в диапазоне игнорируя даты

Разрешите задать вопрос.
В примере заключается суть вопроса.
Один счет-один магазин-одна сумма на оплату, которая может платиться несколько раз (опл.1, опл.2, опл.3, как правило не больше 3-х раз) Чем больше счетов (следовательно сумм, магазины=const) тем больше вправо растет таблица так как одна оплата совершается только в одну определенную дату.
По этому появилась идея записывать дату оплаты прямо в ячейку (формат записи выделен красным) с суммой дабы избежать диагонального роста таблицы, но как заставить Excel суммировать только деньги игнорируя дату в скобках?
Примечание не подходит так как таблица печатается для отчета и даты должны быть читаемые.
Если у кого есть идеи реализовать суммирование другим способом, с радостью выслушаю.
Вложения
Тип файла: rar Пример 22.rar (4.5 Кб, 12 просмотров)
Severny вне форума Ответить с цитированием
Старый 21.02.2011, 17:10   #2
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Так не лучше будет?
Вложения
Тип файла: zip Пример 22.zip (5.1 Кб, 18 просмотров)
nilem вне форума Ответить с цитированием
Старый 21.02.2011, 17:14   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

смотрите с радостью
Вложения
Тип файла: rar Книга582.rar (4.3 Кб, 24 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 22.02.2011, 09:26   #4
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

2 nilem:
Спасибо за помощь. Вы знаете, вроде бы как и лучше, но есть вероятность возростания количества оплат, тем более не хочется лишних пустых ячеек, в примере IgorGO их получается меньше.

2 IgorGO:
Спасибо за помощь. Смотрю и радуюсь, именно то что хотел.
Можно еще это реализовать с помощью VBA, что бы был у меня алгоритм сумирования по заданому формату для будущих ситуация где необходимо суммировать только определенные значение в ячейке?
И всегда хотел спросить, что означают фигурные скобки вначале и в конце формулы? Почему без них ничего не считает?
Severny вне форума Ответить с цитированием
Старый 22.02.2011, 09:39   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
что означают фигурные скобки вначале и в конце формулы?
Это формула массива
Ещё про них здесь написано: http://www.planetaexcel.ru/tip.php?aid=124
EducatedFool вне форума Ответить с цитированием
Старый 22.02.2011, 09:49   #6
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Severny Посмотреть сообщение
2 nilem:
Спасибо за помощь. Вы знаете, вроде бы как и лучше, но есть вероятность возростания количества оплат, тем более не хочется лишних пустых ячеек, в примере IgorGO их получается меньше.

2 IgorGO:
Спасибо за помощь. Смотрю и радуюсь, именно то что хотел.
Можно еще это реализовать с помощью VBA, что бы был у меня алгоритм сумирования по заданому формату для будущих ситуация где необходимо суммировать только определенные значение в ячейке?
И всегда хотел спросить, что означают фигурные скобки вначале и в конце формулы? Почему без них ничего не считает?
VBA
Function sumNOdat(diap As Range) As Double
Dim a, c&
a = diap.Value
On Error Resume Next
c = UBound(a)
If Err.Number <> 0 Then
sumNOdat = Split(CStr(a), " ")(0)
Else
For i = 1 To c
For j = 1 To UBound(a, 2)
sumNOdat = sumNOdat + Split(a(i, j), " ")(0)
Next: Next
End If
End Function
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234

Последний раз редактировалось R Dmitry; 22.02.2011 в 10:03. Причина: подредактировал
R Dmitry вне форума Ответить с цитированием
Старый 22.02.2011, 10:37   #7
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
VBA
Function sumNOdat(diap As Range) As Double
...
End Function
R Dmitry А можете в 2-х словах расказать логику (которая надеюсь где-то здесь) макроса. После многих тестов понял что для суммирования надо всеголишь первое число ячейки после которого или пробел или ничего.
Дата тут как таковая и ни причем?
Severny вне форума Ответить с цитированием
Старый 22.02.2011, 10:51   #8
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Вы знаете, вроде бы как и лучше, но есть вероятность возростания количества оплат
И лучше и (самое главное) надежнее и удобнее.
У меня работает несколько баз с такой структурой, кол-во максимальных платежей - 12 и ничего страшного не вижу в таком строении таблицы.
Да, конечно, можно с помощью формул или макросов и в Вашей таблице посчитать нужные суммы, но...
1. данные вводит человек, а человеку свойственно ошибаться. Лишний пробел, или наоборот отсутствие такового, забыл скобку поставить...
2. данные в таком виде совершенно не годятся для дальнейшей обработки и анализа, так что таблица одноразовая.
Все это, конечно, только мое мнение.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 22.02.2011, 11:04   #9
Severny
Форумчанин
 
Регистрация: 07.10.2010
Сообщений: 144
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
И лучше и (самое главное) надежнее и удобнее.
...
Все это, конечно, только мое мнение.
Согласен с вами, но признаюсь, что задавая вопрос топика мною двигало в равной степени как необходимость автоматизировать (оптимизировать) свои таблицы так и желание побольше разобраться в Excel и VBA на конкретном примере. Это во первых. Во вторых: в реальности у меня слева от столбцов с суммами оплат еще около 30 столбцов, так что увеличивать таблицу еще дальше вправо не хотелось. Хотя такое положение возможно и по моей необознаности с данной программой.
Severny вне форума Ответить с цитированием
Старый 22.02.2011, 11:13   #10
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
на конкретном примере.
Ни в коем случае не хочу навязывать свое мнение, но вот конкретный пример, часть реальной рабочей таблицы.
Все данные в нее заносятся макросами при оформлении покупки и при погашении задолженности.
Вложения
Тип файла: zip Платежи.zip (4.5 Кб, 15 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сумировать ячейки с такими числами? Sprut1 Microsoft Office Excel 6 15.06.2011 08:33
Автоматизация заполнения даты и зависимость ячейки времени к ячейке даты. Каравай Microsoft Office Excel 14 11.03.2010 18:11
Сумировать поле в зависимости от выбраных на форме элементов полей dplz Microsoft Office Access 1 16.02.2010 19:29
Сумировать данные из нескольких файлов excel в 1 общий Miishka Microsoft Office Excel 8 12.11.2009 07:49
Поиск диапазоне по формату ячейки Meta2 Microsoft Office Excel 2 11.11.2009 13:57