I have numbers that are not integers,
and I want to round the fractional part to the nearest multiple of ⅛
and then reduce it to lowest terms.
Se
- O texto acima é uma descrição precisa da sua necessidade,
- Você está disposto a ter uma coluna para conter o número real
e outra coluna para exibir o valor de exibição e
- Você está disposto a dedicar algumas células em outro lugar da pasta de trabalho
para uma tabela de pesquisa,
então essa resposta deve funcionar para você.
Crie um array mapeando todas as frações possíveis
das suas formas numéricas às suas formas textuais (display):
Observe que os valores de texto não em branco ( R2
, R3
, ...)
todos começam com um espaço.
Em seguida, se a célula C1
contiver um número, como 4,62, defina D1
para
=INT(C1+Q$2/2) & VLOOKUP(MOD(C1+Q$2/2,1), Q$1:R$8, 2)
Q2
contém a menor fração representável;
no exemplo acima, é & frac18; (0,125).
Então, queremos adicionar metade disso ao valor C1
para permitir o arredondamento;
queremos que algo entre 4.94 e 5.06 seja exibido como “5”.
Então MOD(C1+Q$2/2,1)
extrai a parte fracionária do número aumentado,
e o VLOOKUP
encontra o formulário textual que você deseja exibir.
Essa abordagem tem o recurso
que você não está restrito a uma única sequência de frações
por exemplo, os múltiplos de 1/8);
se você também quiser, digamos, múltiplos de 1/5 ou 1/3, você pode adicioná-los à tabela.