У меня в итоге не хватило ни терпения, ни моральных сил разбираться, плюнул на всё и сделал через Excel.
Всё равно благодарю всех за советы, так или иначе есть смутное ощущение что это не последний случай, так что всё перечисленное возьму на заметку, и при возникновении аналогичного задания попробую реализовать.