Відповіді:
TRUNC() призначений для видалення десяткової частини будь-якого числа негайно та без будь-яких змін до десяткової частини.
Отже, відповідно до відповіді LinYan , вам просто потрібно використовувати:
TRUNC(A1) щоб отримати цілу частину значення в A1A1-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 потрібно оновити для кожної комірки, на яку ви орієнтовані, щоб вона працювала правильно.