Округление в Excel до четных, "бухгалтерское"

Тема в разделе "Софт", создана пользователем Pec@tum, 19.10.09.

  1. Pec@tum

    Pec@tum Активный участник

    3.870
    2
    Столкнулся с необходимостью округлять значения вида 0,X5 до 0,X, и 0,Y5 до 0,X, где X - ближайшее четное число, Y - нечетное (например, 0,45 округляется до 0,4 и 0,35 округляется до 0,4). Мне сказали, что существует даже специальный ГОСТ на эту тему. Не могли бы уважаемые форумчане подсказать, как реализовать эту функцию в Excel (навыками программирования на VB не владею), и что за ГОСТы такие?

    добавлено через 13 минут
    Хочу добавить, что функция ЧЕТН не подходит - она даже 1,3 округлит до 2.
     
  2. Пихал Метрович

    Пихал Метрович Активный участник

    949
    138
    Умножь на 10, округли до четного, потом подели.
     
  3. Pec@tum

    Pec@tum Активный участник

    3.870
    2
    Допустим, у меня получилось число 4,44563567333. Умножаем на десять: 44,4563567333. Округляем до четного: 44, на выходе - 4,4. А мне нужно было число, округленное до сотых. То есть 4,44. Нужен некоторый универсальный механизм.
    Но вроде мысль здравая, спасибо, будем думать, пробовать. В принципе, у меня все таблицы стереотипные, в одних ячейках требуется округление до десятых, в других - то сотых, и в некоторых - до тысячных. Если я правильно понимаю, изменяется лишь число, на которое мы делим, а затем умножаем?

    Если Вас не затруднит, не могли бы Вы привести конкретный пример. Извините, может туго соображаю. В одной ячейке содержится число - постоянная. В другой ячейке - переменная. В третьей содержится функция обеих предыдущих ячеек, скажем, произведение. Какого вида должна быть формула, позволяющая возвратить произведение ячеек 1 и 2, округленное до сотых?
    Так:
    A3=ЧЕТН(A2*A1*100)/100
    ?

    Спасибо.
     
  4. Pec@tum

    Pec@tum Активный участник

    3.870
    2
    В примере, который я привел, умножаю 45*0,37 в итоге математически получается 16,65. Мне нужно округлить это число до 16,6.
    Используя указанную формулу, я получаю: ЧЕТН(45*0,37*10)/10. Комп мне выдает результат 16,8.
    В случае формулы A3=(ЧЕТН(A2*A1*100))/100 результат тот же. В чем проблема?
     

    Вложения:

  5. Pec@tum

    Pec@tum Активный участник

    3.870
    2
    Более того, получается такая забавная ситуация:
    [​IMG]
     
    Последнее редактирование: 20.10.09
  6. vitant

    vitant Активный участник

    2.342
    38
    Функцию округл, округлвверх, округлвниз попробуй и будет тебе счастье.

    Help читать не пробовал?
     
  7. Pec@tum

    Pec@tum Активный участник

    3.870
    2
    vitant,
    Умник :)
    Даю тебе ряд чисел и целевые, округленные.
    1,26511 --->1.26
    1,25511 --->1.26
    1,25711 --->1.26
    1,25111 --->1.25
    1,24711 --->1.25


    Я пошел таким путем:
    В ячейке А1 - число, которое необходимо округлить до сотых
    B1=ОКРУГЛ((A1*100);0)
    C1=ЕСЛИ(B1>(A1*100);B1-1;B1)
    D1=ЧЁТН(C1)
    E1=ЕСЛИ(D1>B1;(D1-1)/100;D1/100)

    Цифры 3,406 округяет до 3,40
    0,668 до 0,66; 0,0026 до 0,002; 4,847 до 4,84.
    Щас буду думать...

    добавлено через 2 часа 22 минуты
    Получилось с сотыми, поздравьте меня :)

    A1 - наше число
    B1=ЕСЛИ(2*ОКРУГЛВВЕРХ(A1;2)=ОКРУГЛВВЕРХ(2*A1;2);ОКРУГЛ(A1;2);ОКРУГЛВНИЗ(A1;2))
    C1=ЕСЛИ(ОКРУГЛ(A1;2)=B1;ОКРУГЛ(A1;2);ЕСЛИ(ОКРУГЛВНИЗ(A1;2)/2=ОКРУГЛВНИЗ(ОКРУГЛВНИЗ(A1;2)/2;2);ОКРУГЛВНИЗ(A1;2);ОКРУГЛВВЕРХ(A1;2)))

    [​IMG]
     
  8. vitant

    vitant Активный участник

    2.342
    38
    Никто и не сомневался...