Пользовательское форматирование номеров Excel для котировок казначейских облигаций США - PullRequest
1 голос
/ 15 ноября 2010

У меня возникли проблемы с использованием функции пользовательского формата чисел в Excel для отображения котировок фьючерсов казначейства США.

Формат, в котором они отображаются:

121'167

Что эквивалентно 121 + 16,75 / 32

Если последняя цифра 5, как в 121'165, то она эквивалентна

121 + 16,5 / 32

Если последняя цифра - 2, как в 121'162, то она эквивалентна

121 + 16,25 / 32

и, наконец, если последняя цифра равна 0, как в 121'160, то она эквивалентна

121 + 16/32

Есть ли способ реализовать это определение с помощью функции пользовательского форматирования чисел или это выходит за рамки его возможностей?

Ответы [ 4 ]

2 голосов
/ 20 января 2011

Это один безумный формат: добавьте дроби, затем используйте десятичные дроби в дивидендах, и затем урежьте эти десятичные дроби ...

Но хватит разглагольствовать. Это должно сделать работу, если я правильно понял вашу спецификацию:

=TRUNC(A1)&"'"&INT(MOD(A1,1)*320)

Только форматы чисел не могут этого сделать, потому что они не могут выполнять фактическое преобразование чисел (кроме встроенных элементов, таких как дата / время).

0 голосов
/ 13 мая 2015

Я знаю, что это немного устарело, но наткнулся на это сегодня и нуждался в той же информации. Вот то, что я использую, замените ячейку в формуле, чтобы получить кавычку.

5 лет: = ЛЕВЫЙ (J22,3) + (ПРАВЫЙ (J22,3) / 320) + ЕСЛИ (INT (ПРАВЫЙ (J22,1)) = 2,0.0015625, ЕСЛИ (INT (ПРАВЫЙ (J22,1)) = 7,0.0015625 , 0))

10 лет: = ВЛЕВО (B28,3) + (ПРАВО (B28,3) / 320)

0 голосов
/ 05 мая 2011
=TRUNC(A1)&"'"&ROUND((MOD(A1,1)*32),1)

Where A1 = 109.6406

Это то, что сработало лучше для меня. Мне просто нужно было взять двухлетнюю заметку в виде, например, 109'20.5 и воспроизвести ее в Excel. Я преобразовал цитату в 109.6406 (109 + 20,5 / 32) и применил приведенную выше формулу.

0 голосов
/ 15 ноября 2010

вы можете применить функцию TEXT () к обоим вашим значениям и объединить их в одну строку.

example (A1 = 121, B1 = 16.75)

C1: =TEXT(A1,"###") & "'" & TEXT(B1*10-1,"###") & "/32"

Вам нужно выработать округление (я поставил константу * 10-1 во второй семестр) и как получить "/ 32" ... Я не мог определить это по вашему вопросу

Надеюсь, что помогает

удачи

...