powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как реализовать подсчет суммы остатков по клиентам
25 сообщений из 28, страница 1 из 2
как реализовать подсчет суммы остатков по клиентам
    #35727433
Vovka_Che
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть файл вида:

клиент валюта тип сделки сумма курс сумма контрвал
клиент1 USD/RUB покупка 100 27,8 2 780,00
клиент1 EUR/USD продажа 1000 1,345 1 345,00
клиент2 EUR/RUR покупка 200 39,6 7 920,00
клиент3 USD/RUB продажа 300 27,76 8 328,00
клиент3 USD/RUB покупка 300 27,95 8 385,00

нужно просуммировать остатки по каждому клиенту, чтобы это выглядело так:

клиент1 -1 445,00 USD
клиент1 2 780,00 RUB
клиент1 1 000,00 EUR
клиент2 -200,00 EUR
клиент2 7 920,00 RUB
клиент3 -57,00 RUB

Помогите придумать, как это реализовать. Проблема в том, что по каждому клиенту, может быть разное количество валют - как в примере, у клиента 1 остаток в трех валютах в итоге, у второго - два, у третьего один.

хотелось бы, чтобы все это считалось автоматом. Реально?

В файле тоже самое, что и здесь.
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35729511
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опишите по понятнее, как формируется вторая таблица....
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35729974
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может быть так?
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35730097
Just User
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А может и так.
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35730115
Vovka_Che
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
A-Nik,

запись типа "клиент1 USD/RUB покупка 1000 27 2700,00" читается покупка первым клиентом долларов за рубли. далее суммы.


первая запись в первой таблице

клиент1 USD/RUB покупка 100 27,8 2 780,00

означает, что клиент1 покупает 100 долларов за рубли. Платит он за это, соответственно 2780 рублей(100*27,8). Это значит, что я ему должен 100 долларов (они их купил) а он мне должен 2780 рублей (в качестве оплаты за эти доллары)

далее, клиент 1 продает евро за доллары (EUR/USD). То есть он продает 1000 евро по курсу 1,345 и получает за это 1345 долларов.

Значит я от него получу 1000 евро, а отдам за них 1345 долларов.

итого я ему должен: 100 долларов и 1345, те 1445 дол.
А получу от него 2780рублей и 1000 евро.

это и написано в табличке.


Далее.

Клиент 2 купил 200 евро, заплатив рублями по курсу 39,6 (те 7920 рублей).

значит итого я ему должен 200 евро, которые он купил. и получу от него 7920 рублей)

Далее.

Клиент 3 сначала продал 300 долларов за рубли по курсу 27,76 (получив в итоге 8328рублей), а потом купил 300, но по курсу 27,95 (заплатив 8385)

это значит, что остатка по долларам у него нету, а вот по рублям будет. Заплатил он 8385, а получил 8328, те должен мне 57 рублей (в первом посте должно быть просто 57, а не минус - это я накосячил% ) )

вроде так.
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35730267
Vovka_Che
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Just User,

_slan_,

спасибо.

Забыл добавить - я рассчитвал при помощи сводной таблицы. Но проблема в том, как привести именно к виду, что я написал

просто на данный момент, единственное, что я придумал, чтобы выводилось

что-то типа

клиент1 -1445,00 USD
клиент1 2780,00 RUB
клиент1 1000,00 EUR

клиент2 0 USD
клиент2 0 RUB
клиент2 -200,00 EUR

и так далее,

а потом макросом как-то сделать условие, что удаляются строки, с нулевыми остатками.

Кстати как это сделать?
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35732049
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vovka_Che,
отфильтровать..(записать макрорекордером)

а лучше на базе макроса, находящего уникальные значения(см тему /topic/333152&pg=-1) сделать нужную обработку - т.е. пробежаться по табличке 1 раз собирая значения в коллекции, потом удалить из коллекции нулевые, потом передать в массив и вывести в диапазон.
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35732131
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_slan_а лучше на базе макроса, находящего уникальные значения(см тему /topic/333152&pg=-1) сделать нужную обработку - т.е. пробежаться по табличке 1 раз собирая значения в коллекции, потом удалить из коллекции нулевые, потом передать в массив и вывести в диапазон.
_slan_, вот это ты гонишь ! Слушай, тебе нельзя так сильно увлекаться задачами оптимизации различных алгоритмов, а то потом твои ответы будут отбивать у новечков всю охоту браться за изучение программитрования на ВБА :-)
Удалить нули можно гораздо проще ! (см. вложение)
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35733595
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A-Nik,
я то имел ввиду всю задачу - суммирование данных по клиентам и только затем удаление нулевых..

если все уже просуммировано, то см у меня п1 - отфильтровать
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35733603
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можно вообще все только формулами сделать..
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35734251
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35734255
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ух-ты! А я научился улыбки вставлять!!!
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35734715
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A-Nik,
но щас это вроде платно
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35735500
Vovka_Che
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, вроде бы все сделал, но так и не понял, как через макросы удалить строчки, содержащие нулевые значения в определеном столбце

клиент1 100руб
клиент1 3дол
клиент1 0евр
клиент2 0руб
клиент2 0дол
клиент2 12евр

надо, чтобы строки А3,А4,А5 были вообще удалены.
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35735626
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так, например:
Код: plaintext
1.
2.
On Error Resume Next
[A1:A6] = [IF(ISNUMBER(SEARCH("0",A1:A6)),NA(),A1:A6)]
[A1:A6].SpecialCells(xlCellTypeConstants, xlErrors).Delete xlShiftUp
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35736443
Just User
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё один вариант.
Правда я хотел всё сделать через Query, но чего-то не могу разобраться с группировкой данных и отбором не нулевых сумм.
Если поковыряться подольше, то, наверное, можно найти особенность языка sql в Query
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35736759
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A-NikВот так, например:
Код: plaintext
1.
2.
On Error Resume Next
[A1:A6] = [IF(ISNUMBER(SEARCH("0",A1:A6)),NA(),A1:A6)]
[A1:A6].SpecialCells(xlCellTypeConstants, xlErrors).Delete xlShiftUp


а может просто:

On Error Resume Next
[A1:A6] = [A1:A6/A1:A6]
[A1:A6].SpecialCells(xlCellTypeConstants, xlErrors).Delete xlShiftUp

?
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35736790
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага, но так можно только в том случае, если в A1:A6 числа. Я так понял, что там у Vovk(и)_Che текст


Offtopic
Где бы это найти ещё подмигивающий смайлик ?
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35736883
Vovka_Che
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, значит какую строчку мне надо в конце вставить, чтобы удалить все строчки, где в столбце "D" нулевые значения?

Sub нет4()
'
' нет4 Макрос
' Макрос записан 26.12.2008 (vladimir.kalachkin)
'

'
Sheets("эдельвейс").Select
Columns("A:E").Select
Selection.Copy
Sheets("роксана").Select
ActiveWindow.SmallScroll Down:=-15
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("D").Select
End Sub
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35736965
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub нет4()
Dim sh As Worksheet, Rng As String
On Error Resume Next
Set sh = Sheets("роксана")
Sheets("эдельвейс").Columns("A:E").Copy sh.Range("A1")
Rng = sh.Range(sh.Cells( 1 ,  4 ), sh.Cells( 65536 ,  4 ).End(xlUp)).Address( 0 ,  0 , , True)
sh.Range(Rng) = Evaluate(Rng & "/" & Rng)
sh.Range(Rng).SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete
End Sub
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35737000
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A-Nik,
и если число как текст..
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35737047
A-Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_slan_, скорее всего у него там всё-таки числа


Спасибо за смайл, только что-то мне такой не нравится
Не люблю анимацию в смйлах

А вообще-то, конечно, со смайлами гораздо лучше ! Форум, как бы, оживает...! У читающего появляются эмоции и можно точнее передать настроение

Только надо найти расположение маленьких, простых и понятных смайлов!

Да, ещё один плюс в том, что чаще будем пользоваться предварительным просмотром и будем допускать меньше ашыпок
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35737128
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A-Nik,
так там и еще есть..
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35737257
Vovka_Che
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
A-Nik,

что-то не получается... может чего-то нето нажимаю, конечно))

а вот к тексту, что я писал, перед "енд саб" нельзя добавить только команду удаления пустых строк?

или фигня пишу?)))
...
Рейтинг: 0 / 0
как реализовать подсчет суммы остатков по клиентам
    #35737380
Vovka_Che
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все, разобрался!

спасибо всем ))))
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как реализовать подсчет суммы остатков по клиентам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]