У меня есть числа, которые не являются целыми числами, и я хочу округлить дробную часть до ближайшего кратного & frac18; а затем уменьшить его до самых низких сроков.
Если
- Выше приведено точное описание вашего требования,
- Вы хотите, чтобы один столбец содержал действительное число, а другой - для отображения отображаемого значения, и
- Вы готовы выделить несколько ячеек в другой части рабочей книги для таблицы поиска,
тогда этот ответ должен работать для вас.
Создайте массив, отображающий все возможные дроби из их числовых форм в их текстовые (отображаемые) формы:
Обратите внимание, что непустые значения текста (R2
, R3
, ...)
все начинается с пробела.
Затем, если ячейка C1
содержит число, такое как 4.62, установите D1
в
=INT(C1+Q$2/2) & VLOOKUP(MOD(C1+Q$2/2,1), Q$1:R$8, 2)
Q2
содержит наименьшую представимую дробь; в приведенном выше примере это & frac18; (0,125).
Поэтому мы хотим добавить половину этого значения к значению C1
чтобы обеспечить округление; мы хотим, чтобы что-нибудь между 4,94 и 5,06 отображалось как «5».
Затем MOD(C1+Q$2/2,1)
извлекает дробную часть расширенного числа, и VLOOKUP
находит текстовую форму, которую вы хотите отобразить.
Этот подход имеет особенность, что вы не ограничены одной последовательностью дробей, например, кратными 1/8); если вы также хотите, скажем, кратные 1/5 или 1/3, вы можете добавить их в таблицу.