|
|
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
Есть файл вида: клиент валюта тип сделки сумма курс сумма контрвал клиент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 остаток в трех валютах в итоге, у второго - два, у третьего один. хотелось бы, чтобы все это считалось автоматом. Реально? В файле тоже самое, что и здесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2008, 12:01:59 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
Опишите по понятнее, как формируется вторая таблица.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2008, 11:09:30 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
может быть так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2008, 13:14:03 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
А может и так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2008, 13:49:11 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
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, а не минус - это я накосячил% ) ) вроде так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2008, 13:54:27 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
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 и так далее, а потом макросом как-то сделать условие, что удаляются строки, с нулевыми остатками. Кстати как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2008, 14:50:21 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
Vovka_Che, отфильтровать..(записать макрорекордером) а лучше на базе макроса, находящего уникальные значения(см тему /topic/333152&pg=-1) сделать нужную обработку - т.е. пробежаться по табличке 1 раз собирая значения в коллекции, потом удалить из коллекции нулевые, потом передать в массив и вывести в диапазон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 12:51:31 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
_slan_а лучше на базе макроса, находящего уникальные значения(см тему /topic/333152&pg=-1) сделать нужную обработку - т.е. пробежаться по табличке 1 раз собирая значения в коллекции, потом удалить из коллекции нулевые, потом передать в массив и вывести в диапазон. _slan_, вот это ты гонишь ! Слушай, тебе нельзя так сильно увлекаться задачами оптимизации различных алгоритмов, а то потом твои ответы будут отбивать у новечков всю охоту браться за изучение программитрования на ВБА :-) Удалить нули можно гораздо проще ! (см. вложение) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 13:15:44 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
A-Nik, я то имел ввиду всю задачу - суммирование данных по клиентам и только затем удаление нулевых.. если все уже просуммировано, то см у меня п1 - отфильтровать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 21:21:00 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
а можно вообще все только формулами сделать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 21:24:14 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 10:46:04 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 10:47:18 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 13:19:27 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
Так, вроде бы все сделал, но так и не понял, как через макросы удалить строчки, содержащие нулевые значения в определеном столбце клиент1 100руб клиент1 3дол клиент1 0евр клиент2 0руб клиент2 0дол клиент2 12евр надо, чтобы строки А3,А4,А5 были вообще удалены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 16:41:01 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
Вот так, например: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2008, 17:14:41 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
Ещё один вариант. Правда я хотел всё сделать через Query, но чего-то не могу разобраться с группировкой данных и отбором не нулевых сумм. Если поковыряться подольше, то, наверное, можно найти особенность языка sql в Query ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 09:38:33 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
A-NikВот так, например: Код: plaintext 1. 2. а может просто: On Error Resume Next [A1:A6] = [A1:A6/A1:A6] [A1:A6].SpecialCells(xlCellTypeConstants, xlErrors).Delete xlShiftUp ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 11:49:41 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
Ага, но так можно только в том случае, если в A1:A6 числа. Я так понял, что там у Vovk(и)_Che текст Offtopic Где бы это найти ещё подмигивающий смайлик ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 12:05:19 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
Так, значит какую строчку мне надо в конце вставить, чтобы удалить все строчки, где в столбце "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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 12:33:22 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
Примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 13:05:50 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 13:19:52 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
_slan_, скорее всего у него там всё-таки числа Спасибо за смайл, только что-то мне такой не нравится Не люблю анимацию в смйлах А вообще-то, конечно, со смайлами гораздо лучше ! Форум, как бы, оживает...! У читающего появляются эмоции и можно точнее передать настроение Только надо найти расположение маленьких, простых и понятных смайлов! Да, ещё один плюс в том, что чаще будем пользоваться предварительным просмотром и будем допускать меньше ашыпок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 13:39:08 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 14:12:30 |
|
||
|
как реализовать подсчет суммы остатков по клиентам
|
|||
|---|---|---|---|
|
#18+
A-Nik, что-то не получается... может чего-то нето нажимаю, конечно)) а вот к тексту, что я писал, перед "енд саб" нельзя добавить только команду удаления пустых строк? или фигня пишу?))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 14:57:11 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=35727433&tid=2179948]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
3ms |
| others: | 222ms |
| total: | 379ms |

| 0 / 0 |
