Использовать имена ячеек Excel / OpenOffice при завершении перетаскивания

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

Это было нормально при работе с 5 значениями, но с 20 значениями в формуле все усложняется. Я хотел бы использовать имена ячеек, как я нашел в переменной в Excel, но когда Я использую перетаскивание, эти ячейки не адаптированы для следующего столбца, как $ D $ 1 вместо D1.

Идеи решений:

  1. Возможно, я могу объявить ряд ячеек как массив и проиндексировать его с помощью cellname (row), но как это возможно?
  2. Возможно, это проще с небольшим скриптом vba, но я бы хотел этого избежать.

Заранее спасибо.

Изменить 1:

Я боялся, что мой вопрос не так ясен. Я постараюсь прояснить это с помощью следующих файлов. Таким образом, тег Excel удален, я загрузил файл ods:

Мой файл выглядит как загруженный короткий пример example.ods.

Я создал имена ячеек во втором столбце, например «size». Затем я поместил удобочитаемую формулу типа «=size+step+thickness*weight» в C7. Когда я перетаскиваю его в ячейки D7 и E7, как показано в примере . png. Конечно, я получаю тот же результат, что и в C7, потому что имена ячеек используются как абсолютные имена, например, $B$2.

Как я могу применить удобочитаемые формулы к D7 и E7 без редактирования D7 и E7 вручную? Когда я использую для C7 "=C2+C3+C4*C5", я, конечно, могу использовать завершение перетаскивания.

Надеюсь, теперь это стало более ясным. Думаю, это базовая функциональность, но я просто не знаю, как ее хорошо описать. Возможно, у вас есть похожая идея сделать его более читабельным, чем "=C2+C3+C4*C5".


person Lukas    schedule 25.08.2011    source источник
comment
Можно ли с уверенностью сказать, что тег Excel не принадлежит, поскольку это проблема openoffice-calc?   -  person aevanko    schedule 25.08.2011


Ответы (2)


Это работает в OpenOffice.org Calc, а также в LibreOffice Calc, но очень важно определить имена ячеек для каждого столбца, который будет оцениваться по формуле. Вот пошаговое решение, основанное на примере документа:

  1. Начните с электронной таблицы, содержащей только значения вместе с заголовками строк и столбцов: Ranges 1

  2. Создайте имена диапазонов ячеек:

    а. Выберите диапазон данных, включая столбец, содержащий имена строк (OOo будет использовать эти строки в качестве имен на следующих шагах):

    Именованные диапазоны 2

    б. Выберите «Insert -> Names... -> Create»:

    Создать имена ...

    c. Выберите «Левый столбец», чтобы назвать строки в зависимости от содержимого первого столбца:

    ... с именами, основанными на левом столбце

    Результат: четыре имени, по одному для каждой строки, названные по желанию:

    итоговые имена

  3. Создайте формулу для первой строки данных (здесь неполная, демонстрируя всплывающие подсказки OOo): formula

  4. Выполните перетаскивание для всех остальных строк данных, чтобы получить окончательный результат (при активированном Tools -> Detective -> Trace precedents - детектив указывает на первый столбец массива, но формула будет использовать значения текущего столбца):

    окончательный результат

person tohuwawohu    schedule 25.08.2011
comment
Большое спасибо за исчерпывающий ответ. Как я вижу, есть встроенная функциональность, но мне просто не удалось ее хорошо описать. = ›+1 - person Lukas; 25.08.2011
comment
Отлично. Большое спасибо за подробный ответ. (Хотел бы я проголосовать за это больше!) - person Pablo Olmos de Aguilera C.; 04.12.2014

Вы можете использовать относительные ссылки в именах, для этого проще использовать режим R1C1:

Определите размер имени с помощью RefersTo = R2C Затем, где бы вы ни использовали имя Размер в формуле, оно будет ссылаться на текущий столбец и строку 2

person Charles Williams    schedule 26.08.2011
comment
Я не понимаю этого ответа. Но другой ответ решил проблему. В любом случае, спасибо. - person Lukas; 31.08.2011