1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

помогите по excel'у, плиз.

Тема в разделе "Софт", создана пользователем ars, 10.10.11.

  1. ars

    ars Участник

    207
    0
    в некой ячейке есть некая формула, допустим такая =СУММ(D10:D30) . если в промежутке между строками 1 и 10 добавить еще одну строку, то формула в исходной ячейке автоматически изменится на =СУММ(D11:D31). а как сделать так, что бы этого не происходило? т.е. что бы формула так и оставалась вида =СУММ(D10:D30)?

    p.s. =СУММ($D$10:$D$30) - не то. :о((

    заранее огромное спасибо. :о))
     
  2. panda-34

    panda-34 Активный участник

    1.589
    2
    =СУММ(ДВССЫЛ("D10"):ДВССЫЛ("D30"))
    =СУММ(ДВССЫЛ("D10:D30"))
     
  3. ars

    ars Участник

    207
    0
    гранд мерси вам, добрый человек! :о))
     
  4. -=AS=-

    -=AS=- Активный участник

    1.766
    0
    а тоже самое, только в ОпенОффисе кто-нибудь знает? У меня проблема, правда, посложнее, наверное: данные копируются на другой лист книги, при этом, тот лист, который копируется, в свою очередь берет данные с другого листа. Так вот надо, чтоб при копировании во всех листах данные брались с одного и того же листа. Конкретно:
    данные берутся из листа "Расчеты" в лист ААА (к примеру): =Расчеты.B56-Расчеты.E57-Расчеты.C56*0,000413
    Копирую лист ААА в лист ССС, ставлю его за листом БББ и получаю: =БББ.B56-БББ.E57-БББ.C56*0,000413

    а надо-то как в листе ААА: =Расчеты.B56-Расчеты.E57-Расчеты.C56*0,000413
     
  5. pm

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

    787
    0
    -=AS=-, попробуй использовать именованые диапазоны (Ctrl+F3)
     
  6. -=AS=-

    -=AS=- Активный участник

    1.766
    0
    pm, не пойму как это работает. Как сохранить диапазон - понял, но вставить его не получается. При нажатии на Ок после выбора диапазона ничего не происходит...
     
  7. ars

    ars Участник

    207
    0
    а еще пара вопросов.

    1) есть несколько идентичных листов с данными. в каждом листе есть ячейка с формулой, которая использует значения со своего листа. формула само-собой одна и таже в каждом листе. так вот, эта формула еще не до конца проработана и подлежит регулярной коррекции. каждый раз править её в н-ном количестве листов напрягает.

    можно как нибудь её вынести на отдельный лист и оттуда копировать в каждый из остальных?

    2) в ячейке рассчитывает значение. это значение может получиться положительным, отрицательным либо равным 0. как сделать так, что бы при условии что значение получилось больше нуля оно "обнулялось." т.е. становилось равным нулю. :о))
     
    Последнее редактирование: 12.10.11
  8. panda-34

    panda-34 Активный участник

    1.589
    2
    1) В чем напряг-то? Какая разница на скольки листах править формулу одновременно? Или выделять лень каждый раз?
    2) Кхм-м-м.... =МИН(ячейка;0). Это даже не школа, щас в детском саду такие задачки решают.

    ---------- Сообщение добавлено 12.10.2011 21:34 ----------

    По п.1 в можно забацать такую VBA функцию:
    Public Function EvaluateFormula(orig As Range, data as Range)
    EvaluateFormula = Application.Caller.Worksheet.Evaluate(Mid(orig.Formula, 2))
    End Function
    Использовать: =EvaluateFormula(Ячейка_с_исходной_формулой;Область_исходных_данных_для_формулы)
    Она будет вычислять формулу из исходной ячейки как если бы она была записана на текущем листе и возвращать результат. Область_исходных_данных_для_формулы - это те ячейки, при изменении которых формулу надо пересчитывать (можно хоть весь лист туда записать).
     
  9. Serg79h

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

    3.781
    4
    вай - какой ужас.. VBA - тактично учим
    а еще проще, foxPro -рулить не по детски
     
  10. ars

    ars Участник

    207
    0
    panda-34, спасибо. :о))