Калькулятор розрахунку витрат у подорожі

Визначте, хто і в якій частці несе кожну витрату, додайте гроші, які ви вже переказували одне одному, і отримайте баланс кожної людини та перекази, що лишилися.

Цей калькулятор рахує лише за введеними вами значеннями. Він не отримує курси валют і переводить тільки за курсом, який ви ввели самі, не виконує банківських переказів і не зберігає введені імена та суми й не залишає їх в адресному рядку.

Основа розрахунку

Запишіть, якої подорожі стосується розрахунок, щоб не переплутати скопійовані результати. На обчислення це не впливає.
Усі суми потрібно вводити в цій одній валюті. Гроші, витрачені в іншій валюті, перевірте самі за фактично списаною сумою та переведіть у цю валюту.
Якщо позначити, результат отримає позначку про орієнтовні значення. Самі обчислення не зміняться. Якщо ви вводите витрату, переведену за курсом, позначка про орієнтовні значення зʼявиться в результаті незалежно від цього прапорця.

Учасники

Можна ввести від 2 до 20 осіб. Імена не мусять бути справжніми, а номери телефонів і номери рахунків вводити не потрібно.

Витрати й повернення

Для кожної витрати визначте того, хто платив, і ваги частки. Щоб поділити житло за днями, додайте по одній витраті на кожну ніч і поставте 1 лише тим, хто тієї ночі ночував.

Уже зроблені перекази

Це гроші, вже передані під час подорожі. Це не витрата, а розрахунок, що зменшує баланс, тож не вводьте їх ще раз як витрату.

Якщо ніхто ще нікому нічого не переказував, залиште це поле порожнім.

Ще нічого не пораховано. Введіть учасників і витрати, а потім натисніть Створити розрахунок.

Спосіб обчислення

Обчислення відбувається в такому порядку. Усі суми обробляються як цілі числа найменших одиниць валюти розрахунку, тож проміжної похибки округлення не виникає.

  1. Для кожної витрати ідеальна частка людини - це сума помножена на її вагу й поділена на суму ваг, а кожне таке значення округлюється вниз до найменшої одиниці.
  2. Найменші одиниці, що лишилися після округлення вниз, роздаються по 1, починаючи з тих, у кого відкинута дробова частина більша. Тому сума часток завжди точно дорівнює сумі витрати.
  3. Якщо дробові частини однакові й порядок визначити не вдається, вирішує зростаючий ідентифікатор учасника. На цьому екрані ідентифікатори надаються в порядку додавання учасників, тож людина, що вище в списку, отримує одиницю раніше. Зміна порядку на екрані не змінює того, кому дістається решта.
  4. Баланс людини - це сплачене за інших мінус належне до сплати, плюс уже надіслані перекази, мінус уже отримані перекази. У того, хто отримав повернення, сплачена сума на стільки ж зменшується, тож баланс може вийти відʼємним.
  5. Сума балансів усіх людей дорівнює точно нулю. Обчислювальне ядро саме перевіряє цю умову, а в разі розбіжності не видає результату й зупиняється з помилкою.
  6. Повернення розподіляється як відʼємне значення точно за тими самими вагами, що й початкова витрата. Сукупна сума повернень не може перевищити суму початкової витрати.
  7. Пропозиція переказів послідовно взаємозараховує того, кому належить найбільше отримати, з тим, кому належить найбільше надіслати. За однакових сум порядок визначає зростаючий ідентифікатор учасника.
  8. Витрата, що переводиться за курсом, множиться на курс і округлюється до найменшої одиниці валюти розрахунку. Рівно половина округлюється вгору. Множення й округлення виконуються в дробах, тож похибки округлення не виникає. Це переведення робиться лише один раз, на самому початку, перед поділом часток.
  9. Якщо хоч одна витрата лишилася непереведеною, не створюються ні баланси людей, ні план переказів. Розрахунок зі змішаними валютами був би просто хибним.

Суми, видимі на екрані, - це рядки з роздільниками, підготовлені для показу. Не додавайте їх повторно для перевірки, а користуйтеся підсумками, наведеними в таблиці.

Два способи поділити вартість житла

Результат щодо житла залежить від вашої домовленості. Калькулятор не вирішує, який спосіб справедливіший, і обидва зберігають загальну суму до одиниці.

Поділ за тими, хто ночував того дня
Додайте по одній витраті на кожну ніч і поставте 1 лише тим, хто тієї ночі справді ночував. Якщо ціна різна в різні дні, введіть фактичну ціну того дня. Якщо за ніч треба платити, а не ночував ніхто, обчислення зупиняється. Спершу вам треба домовитися, хто це бере на себе.
Поділ пропорційно до кількості людино-ночей
Введіть усю суму за житло як одну витрату, а у вагах вкажіть кількість ночей кожного. Памʼятайте, що тоді витрати на порожню кімнату, якою ніхто не користувався, теж розподіляються пропорційно до всіх ночей.

Умовний приклад

Це умовний приклад для перегляду екрана. Це не справжні ціни на житло й не умови якогось конкретного сервісу бронювання.

Троє людей, A, B і C, розраховуються в USD, а за житло на 450 доларів заплатив A. A і B ночували 2 ночі, C - одну.

  • За поділу між тими, хто ночував того дня, 225 доларів за першу ніч діляться на трьох, а 225 доларів за другу ніч - між A і B. Частки становлять 187.50 / 187.50 / 75.00 долара.
  • Кнопка прикладу заповнює дані саме цим способом. Результат такий: A отримує 262.50 долара, і розрахунок завершується, коли B переказує 187.50 долара, а C - 75.00 долара.
  • За поділу пропорційно до кількості людино-ночей це одна позиція на 450 доларів з вагами 2 / 2 / 1, тобто 180 / 180 / 90 доларів. За обома способами сума однакова - 450 доларів.

Натискання прикладу замінює введені зараз дані значеннями з прикладу. Це можна повернути кнопкою скасування дії вгорі екрана.

Часті запитання

Чим це відрізняється від звичайного калькулятора поділу рахунку?
Звичайний калькулятор поділу рахунку ділить одну суму порівну на кількість людей або дає вписати суму для кожного вручну. Коли треба додати чайові й одразу побачити суму на людину, той буде швидшим. Цей калькулятор приймає кілька витрат, для кожної окремо задає тих, хто несе витрату, і ваги, враховує повернення та вже зроблені перекази, а наприкінці дає баланс кожної людини й перекази, що лишилися. Якщо йдеться лише про рівний поділ рахунку за один обід, скористайтеся звичайним калькулятором поділу рахунку.
Чи це найменша можлива кількість переказів?
Ні. Він послідовно взаємозараховує того, кому належить найбільше надіслати, з тим, кому належить найбільше отримати, тож ті самі дані завжди дають ту саму таблицю, але теоретично може існувати варіант із меншою кількістю переказів. Сприймайте це як один зі способів завершити розрахунок.
Як вводити гроші, витрачені в іноземній валюті?
Для кожної витрати спершу оберіть, чи є підтверджена сума списання у валюті розрахунку. Якщо остаточна сума є, наприклад із виписки картки, введіть саме її. Ми не переводимо її знову за сьогоднішнім курсом. Якщо остаточної суми ще немає, оберіть переведення за курсом і введіть суму у валюті платежу та курс. Якщо хоч одна витрата використовує курс, результат отримує позначку про орієнтовні значення. Цей калькулятор не отримує курсів, тож курс треба перевірити й ввести самостійно.
Куди вводити комісію за платіж за кордоном?
Комісію, вже включену в суму списання, окремо не вводьте, бо вона порахується двічі. Лише комісію, списану окремо від суми списання, додайте ще одним рядком витрати й вагами визначте, хто її несе. Цей калькулятор не додає комісії до курсу.
Одній людині додається на 1 найменшу одиницю валюти більше.
Тому що менше за найменшу одиницю валюти поділити вже неможливо. Частка кожного округлюється вниз, а решта роздається по 1, починаючи з тих, у кого відкинута дробова частина більша. Тільки так сума часток точно дорівнює загальній сумі. Якщо й дробові частини однакові, вирішує зростаючий ідентифікатор учасника, тобто її отримує той, кого додали раніше.
Чому не можна змінити ваги в рядку повернення?
Повернення скасовує початкову витрату, тож правило поділу має бути таким самим. Зі зміненими вагами це перестає бути скасуванням, стає новим розподілом і викривлює баланси. Тому рядок повернення переймає ваги обраної витрати без змін. Компенсацію чи відшкодування іншого характеру вводьте не як повернення, а як окрему витрату й домовляйтеся про неї окремо.
Чи введені імена та суми десь лишаються?
Не лишаються. Обчислення відбувається лише у браузері й на сервер не надсилається. Значення не потрапляють у посилання для поділитися, тож не лишаються ні в адресному рядку, ні в історії браузера. Натомість після оновлення сторінки дані зникають, тож за потреби скористайтеся кнопкою копіювання результату.

Чого цей калькулятор не робить

  • Не отримує курсів валют. Переводить лише за курсом, який ви ввели самі, а якщо лишилася хоч одна непереведена витрата, плану переказів не створює.
  • Не додає автоматично комісію за платіж за кордоном чи за зняття готівки. Комісію, не включену в суму списання, треба ввести самостійно окремим рядком витрати.
  • Не виконує банківських переказів і не підключається до рахунку. Номерів рахунків він теж не приймає.
  • Не створює автоматично ночівлі за введеними датами. Витрату на кожну ніч треба додати самостійно.
  • Не вгадує, хто в якій витраті брав участь. Він не вважає автоматично, що на вхідний квиток пішли всі разом.
  • Не радить, який спосіб поділу справедливіший.
  • Не зберігає введені дані. Після оновлення або закриття вікна вони зникають.

Повʼязані калькулятори

Якщо треба поділити одну суму просто на місці, простішими будуть калькулятори нижче.

  • Калькулятор поділу рахунку — Ділить одну суму порівну на кількість людей або дає вписати суму для кожного вручну. Одразу показує відсоток чайових і суму на людину. Він не працює з кількома витратами, з тими, хто несе кожну з них, і з уже зробленими переказами.
  • Калькулятор чайових — Рахує чайові до суми за обід. Кінцеву суму разом із чайовими можна ввести сюди як витрату.
  • Калькулятор відсотків — Знадобиться, коли перед визначенням ваг хочеться спершу перевірити самі пропорції.