Відповіді:
TRUNC()
призначений для видалення десяткової частини будь-якого числа негайно та без будь-яких змін до десяткової частини.
Отже, відповідно до відповіді LinYan , вам просто потрібно використовувати:
TRUNC(A1)
щоб отримати цілу частину значення в A1
A1-TRUNC(A1)
для отримання дробової частини значення в A1
На відміну від цього FLOOR()
, TRUNC()
працює як на позитивних, так і на негативних числах, не потребуючи коригування, працює однаково і в Microsoft Excel, і в LibreOffice.
FLOOR()
вимагає, щоб параметр значення мав той самий знак, що число, яке обробляється (інакше викличе помилку), тому 1
в кінці потрібно буде змінити -1
на обробку від'ємних чисел, або ви могли б вставити SIGN()
та зайво ускладнювати формулу далі.
Крім того, у OpenOffice та LibreOffice FLOOR()
також є додатковий (порівняно з Excel) третій параметр "mode", який змінює результати, які функція повертає за від'ємними числами.
ви можете спробувати FLOOR
функцію floor(A1,1)
для цілої частини A1, A1-floor(A1,1)
для десяткової частини A1.
Наприклад, уявіть, що А1 дорівнює 167,583:
int(A1)
дав би 167 і
mod(A1,1)
дав би 0,583.
int(1.6) === 1
і int(-1.6) === -2
... Але trunc(decimal;0)
працює правильно для обох.
Не думайте, що для цього є певна функція, проте, вклавши пару, ви можете.
Якщо припустити, що ви намагаєтесь повернути правильне десяткове значення для комірки A1, формула буде такою:
=MID(A1,SEARCH(".",A1,1)+1,LEN(A1))
Ефективно те, що ви тут робите, - це використовувати функцію MID, щоб повернути деяку кількість символів, починаючи з десяткової крапки. Усі 3 посилання на A1 потрібно оновити для кожної комірки, на яку ви орієнтовані, щоб вона працювала правильно.