Использовать имена ячеек Excel / OpenOffice при перетаскивании - PullRequest
3 голосов
/ 25 августа 2011

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

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

Идеи для решения:

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

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

Редактировать 1:

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

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 25 августа 2011

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

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

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

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

    Named Ranges 2

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

    Create names...

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

    ... with names based on left column

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

    resulting names

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

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

    final result

0 голосов
/ 26 августа 2011

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

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

...