Як відокремити число за десятковою точкою в Excel / Calc?


10

У мене така електронна таблиця є такою: 28.686279

Коли я відкриваю цей аркуш або в LibreOffice Calc, або в Microsoft Excel, чи існує функція формули, яка повертає "ціле число", тобто 28. Чи є формула, яка повертає "десяткову частину", тобто 0.686279?

Відповіді:


16

TRUNC() призначений для видалення десяткової частини будь-якого числа негайно та без будь-яких змін до десяткової частини.

Отже, відповідно до відповіді LinYan , вам просто потрібно використовувати:

  • TRUNC(A1) щоб отримати цілу частину значення в A1
  • A1-TRUNC(A1) для отримання дробової частини значення в A1

На відміну від цього FLOOR(), TRUNC()працює як на позитивних, так і на негативних числах, не потребуючи коригування, працює однаково і в Microsoft Excel, і в LibreOffice.

FLOOR() вимагає, щоб параметр значення мав той самий знак, що число, яке обробляється (інакше викличе помилку), тому 1в кінці потрібно буде змінити -1на обробку від'ємних чисел, або ви могли б вставити SIGN()та зайво ускладнювати формулу далі.

Крім того, у OpenOffice та LibreOffice FLOOR()також є додатковий (порівняно з Excel) третій параметр "mode", який змінює результати, які функція повертає за від'ємними числами.


7

ви можете спробувати FLOORфункцію floor(A1,1) для цілої частини A1, A1-floor(A1,1)для десяткової частини A1.


1
Цікаво, чому не існує певної форми функції FRAC (A1) для отримання десяткової частини? Здається, це те, що люди роблять досить часто, правда?
Алексіс Вілке

Як щодо негативів ...
Роберт Коритник

5

Наприклад, уявіть, що А1 дорівнює 167,583:
int(A1)дав би 167 і
mod(A1,1)дав би 0,583.


Ви це розумієте int(1.6) === 1і int(-1.6) === -2... Але trunc(decimal;0)працює правильно для обох.
Роберт Коритник

1

Не думайте, що для цього є певна функція, проте, вклавши пару, ви можете.

Якщо припустити, що ви намагаєтесь повернути правильне десяткове значення для комірки A1, формула буде такою:

=MID(A1,SEARCH(".",A1,1)+1,LEN(A1))

Ефективно те, що ви тут робите, - це використовувати функцію MID, щоб повернути деяку кількість символів, починаючи з десяткової крапки. Усі 3 посилання на A1 потрібно оновити для кожної комірки, на яку ви орієнтовані, щоб вона працювала правильно.


Це повертає текст, а не цифру.
fixer1234

-3
=RIGHT(TEXT(ABS(A1)-INT(ABS(A1));",00");2)

Не буде це просто ідеально, і естетично теж?


Це повертає текст, а не цифру.
fixer1234
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.