Як нанімати на місце посилання LibreOffice?


0

У мене є серія комірок з дуже простою формулою в них (наприклад G2=G4-G5:), і я хочу, щоб вона залишалася виправленою все, що я роблю на аркуші, зокрема я хочу, щоб вона була стійкою до вставки рядка між row4 та row5.

Я спробував усі комбінації знака долара (напр .:) G2=G4-$G$5, безрезультатно.

Що я роблю неправильно?

Для пояснення контексту я маю наступне:

G2=G4-G5
G4=C17
G5=<number>

У певний момент мені потрібно:

  • Вставте рядок між Row4 та Row5
  • Скопіюйте поточне значення в G4 в нове (порожнє)G5
  • Переконайтесь, що формула в G2нерухомих точках G4-G5(вона, звичайно, повинна бути нульовою після цієї операції)
  • Це справедливо для кількох (не всіх) стовпців.

Після того як я це вирішу, я спробую автоматизувати цю процедуру, але тепер я пенью, коли перший рядок стає G2=G4-G6після вставки рядка.

ОНОВЛЕННЯ : Я насправді знайшов спосіб це зробити, але це здається зайвим:

G2=INDIRECT(ADDRESS(ROW()+2, COLUMN()), 1) - INDIRECT(ADDRESS(ROW()+3, COLUMN()), 1)

Це справді потрібно?


1
Це два питання. Запитайте їх окремо.
Ченмунка

1
@Chenmunka: Я перефразував, роблячи це одне питання, залишаючи контекст на місці.
ZioByte

Відповіді:


0

Будь-яка адреса комірки буде пристосована до вставлених / видалених рядків, незалежно від того, ви вказали їх як абсолютні посилання чи відносні. Це поведінка задумом . Метод, який ви вказали в оригінальному редагуванні запитань, є одним із способів обійти процес, але адреси комірок не потрібно було вирішувати ADDRESSфункцією; їх можна було так само легко записати у INDIRECTфункцію, як текст.

Формула G2 така: =INDIRECT("G4")-INDIRECT("G5")

Іншим варіантом є OFFSETфункція, яка жорстко кодує цифри як зміщення або схожість від опорної точки. Ці твердо кодовані цілі числа не змінюватимуться вставкою чи видаленням рядка / стовпця.

Формула G2 така: =OFFSET($G$1, 3, 0)-OFFSET($G$1, 4, 0)

Обидва OFFSETі INDIRECTвважаються летючими функціями. У цьому контексті мінливі означають, що формула (и) буде проводити перерахунок за кожен цикл обчислення, який переживає робоча книга, незалежно від того, чи буде змінено значення впливати на результат формули чи ні. Функції летючої категорії мають незначну різницю на менших робочих аркушах або навіть на більших робочих аркушах, якщо обчислення є простим і кількість формул, що включають функцію, обмежена. Однак при достатній кількості формул і залежних формул на великому робочому аркуші в якийсь момент відставання в розрахунку стає дратівливим. Ось енергонезалежне рішення.

Формула G2 така: =INDEX(G:G, 4)-INDEX(G:G, 5)

Знову ж , ідентифікатор рядка закодований багато в чому таким же чином , як і в шаховому порядку є з , OFFSETале таким використанням INDEXв НЕ летючої формулою.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.