Обойти циклическую ссылку в Google-Таблицу
У меня есть таблица Google docs с двумя столбцами: A и B. Значения B - это просто значения из A в другом формате, и у меня есть формула в столбце B, которая выполняет преобразование. Иногда у меня нет значений в формате, но у меня есть их в формате B. Я хотел бы автоматически получить значения в формате в столбце A, добавив формулу, которая выполняет обратное преобразование в столбце A. Это, конечно, порождает круговую ссылку. Есть ли способ обойти это?
7 ответов
Я просто столкнулся с этим, пытаясь настроить формулы для вычисления метрик из моей тренировки.
вместо того, чтобы ссылаться на ваши зависимые ячейки формулы, используйте другие ячейки для хранения фактических (не-формульных) данных и используйте ячейки формулы, чтобы показать свои результаты. К сожалению, обойти круговые ссылки невозможно.
в верхнем меню электронной таблицы google выполните следующие действия:
файл > настройки электронной таблицы
выберите вкладку " расчет "и измените" итеративный расчет " на ON.
Наслаждайтесь :Д.
PD: я знаю, что этот пост слишком стар, но всего несколько дней назад мне нужно было решение этого, и я не мог найти его.
с этой недели Google Sheets объявила о поддержке именно этой функции. Теперь вы можете ограничить количество итераций для круговых ссылок в настройках электронных таблиц: -)
в excel вы можете установить его, чтобы разрешить круговые зависимости и ограничить количество итераций, которые они запускают (обычно 1-желаемый результат).
Я посмотрел и ничего подобного не существует в листах.
Я знаю, что этот пост довольно старый, но я видел его, глядя, чтобы увидеть приложения, вещи.
в листах, вы можете использовать importrange
для ссылки на тот же лист и вызова нужного диапазона. Например, вы можете поместить формулу в B1
что это =A1+1
и A1
использовать формулу =importrange(<THIS SHEET ID>,"B1")+1
.
возможно, вам придется изначально поместить формулу в A2
а затем переместите его до A1
, но это должно сработать.
делать что-то вроде этого по сути, делает второй счетчик, который аккуратен, я думаю?
решается скриптом, который реализует следующий алгоритм
for each row{
if (A != "" && B == "")
B = conversionFromA(A);
if (A == "" && B != "")
A = conversionFrom(B);}
конечно, у него есть свои недостатки (вы должны вызывать скрипт каждый раз, когда вводите новые данные), но это лучшее решение, которое я нашел
Я бы добавил еще два столбца: источник данных и формат данных. Затем формула в столбце A будет принимать значение из источника данных либо как есть (если формат совпадает), либо преобразуется (если формат не совпадает). Же самое для столбца B.