Соответствующие позиции для выверки банковских счетов - PullRequest
0 голосов
/ 11 февраля 2019

Я подготавливаю файл банковской выверки, чтобы сопоставить отрицательное значение с положительным. В приведенной ниже таблице есть отрицательные значения, которые необходимо согласовать / сопоставить с положительным.например, A4 (5076) - это сумма отрицательного значения A2+A6+A8 (-5076), которое примиряет друг друга и составляет ноль.Я хочу, чтобы кодирование Excel сочетало все положительные значения с отрицательными.пожалуйста помогите

A      B
1    -5425
2    -4125
3    -2632
4     5076
5    -222
6    -906
7     8279
8    -45
9    -254
10   -542

1 Ответ

0 голосов
/ 11 февраля 2019

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

В начале я вижу несколько вопросов:

  1. Существует ли ограничение на количество строк, которые могут быть задействованы в данной сверке (суммирование до 0)?Будет ли только один из них положительным, или {-2, -2, + 1, + 3} будет действительным расчетом?
  2. Будет все строки всегда примириться?Или, если поставить один и тот же вопрос по-другому, что вы хотите, чтобы ваша система делала, когда оставались строки?Должен ли он просто рухнуть?
  3. Имеет ли значение, как назначаются группы выверки?Рассмотрим следующий пример:
{(a, +5),
 (b, +4),
 (c, -1),
 (d, -1),
 (e, -2),
 (f, -2),
 (g, -3)}

Очевидно, что это может быть согласовано как

[{(a,+5), (c,-1), (d,-1), (g,-3)},
 {(b,+4), (e,-2), (f,-2)        }]

или как

[{(a,+5), (c,-1), (e,-2), (f,-2)},
 {(b,+4), (d,-1), (g,-3)        }]

, но неясно, имеет ли значение разница .

. Самый тривиальный случай - ответ на вопрос № 1 «Нет предела» и ответ на вопрос № 2.«Все строки действительного списка ввода будут всегда согласованы», а ответ на вопрос № 3 «Нет, это не имеет значения».
В этой ситуации ваш вывод разрешен быть единой группой выверки, содержащей все строки.

Предполагая, что это не то, что вы хотите, вам придется четко сформулировать, что вы хотите.

Если ответ на вопрос № 3 заключается в том, что разница между, казалось бы, эквивалентными группами выверки имеет значение , то ваше решение должно будет учитывать информацию, которую вы еще не показали.Хотя может быть разница между {(b,+4), (e,-2), (f,-2)} и {(b,+4), (d,-1), (g,-3)}, в настоящее время нет никакого способа отдавать предпочтение одному над другим.

Вероятно, вы столкнетесь с вычислительными ограничениями, указанными вкомментарии.Я не уверен, что задача невозможна , но я бы настоятельно рекомендовал использовать что-то кроме Excel или VBA.
Многие люди пытались бы сделать это в Python,что хорошоМне кажется, что Хаскелл был бы хорош в этом.Если производительность является проблемой, то язык низкого уровня, такой как C, хотя и не обязательно быстрее, может быть легче оптимизировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...