Как оценить составную формулу в Google Sheets?
Есть ли способ, используя сценарий или иным образом, для оценки составной формулы в таблицах Google?
Я создал составную формулу для функции Google Finance для получения ежедневных обменных курсов. Это потому, что моя дата и валюта постоянно меняются; вместо "usdeur" я иногда интересуюсь "usdinr" или "euraud". Используя concatenate и некоторые базовые сценарии, я смог вставить приведенную ниже формулу в ячейку как текст. Все, что требуется, - это способ выполнить приведенную ниже строку.
"=GoogleFinance("usdeur","price",date(2013,12,1),date(2013,12,16))"
Из того, что я понимаю, Sheets не имеет функции "EVAL", как в Excel. На листах двойное нажатие "Enter" сделает этот трюк. Могу ли я написать сценарий для этого?
1 ответ
Спасибо за обходной путь, и он действительно работает. Судя по вашим инструкциям, похоже, что это можно упростить еще больше.
- В ячейке B1 введите следующее:="=sum(A1:A5)"
- В ячейке C1 Установите проверку данных и выберите B1 в раскрывающемся списке.
Теперь выберите C1 и выберите формулу из раскрывающегося списка, она автоматически суммирует любые значения от A1 до A5.
У меня есть лист, на котором я создавал сложную формулу для нескольких значений, и этот процесс сработал!
Еще раз спасибо, поскольку я пытался избежать сценария, поскольку у меня есть данные, которые извлекает другая программа на моем листе. В таких ситуациях скрипт не всегда запускается автоматически.
Отличная работа для Google, не имеющего оценки (). Я осмотрелся и, кроме скрипта, не нашел другого способа иметь формулу в виде строки на одном листе, а затем использовать эту формулу на другом. На самом деле все, что я видел, говорит, что вы не можете. Было бы полезно, если бы кто-нибудь, читающий это, мог бы сделать репост, если бы он подошел к соответствующему вопросу, поскольку я, должно быть, прочитал полдюжины сообщений, в которых говорилось, что это невозможно, прежде чем я просто свернул свои рукава и сделал это.:) Он все еще имеет небольшую неуклюжесть, так как вам нужны две ячейки в электронной таблице, которую вы хотите, чтобы формула выполнялась, но вот и все.
Хорошо, некоторые настроены. Мы назовем электронную таблицу с формулой как строку SpreadsheetA, вызовем вкладку, на которой формула находится на TabAA, электронной таблице, которую вы хотите вызвать, и выполнить указанную формулу SpreadsheetB. Я буду использовать пример с несколькими вкладками, например, вы хотите, чтобы сумма A1:A5 на вкладке SpreadsheetB: TabBA была вычислена на вкладке SpreadsheetB: TabBB, ячейка A1. Также назовите URL-адрес электронной таблицы A: URLA.
Итак, в Таблице A Tab: TabAA ячейка A1 поместите ="=sum(TabBB!A1:A5)", поэтому в ячейке будет отображаться: =sum(A1:A5). Примечание: в формуле $ не требуется. Затем в таблице B, Tab: TabBB, ячейка A2 поместите: =Query(Importrange("URLA","TabAA!A1"),"выберите Col1, где Col1 <> ''"). В этой ячейке теперь будет отображаться = сумма (TabBA!A1:A5). Рядом с этим ячейка A1 вкладки электронной таблицы B: TabBB, создайте раскрывающийся список ячейки с формулой в B2 (щелкните правой кнопкой мыши ячейку A1, выберите проверку данных, для выбора критериев: список из диапазона введите B2 в поле справа). Эта ячейка должна теперь суммировать SpreadsheetB, TabBA, диапазон A1:A5.
Надеюсь, это было ясно, я новичок в этом. Также важно, что вы, очевидно, сделаете это только в тех случаях, когда вы хотите выбрать из нескольких формул в таблице A, а не в TabAA!A1 скажем, что у вас есть другая формула в A2, поэтому ваш запрос будет =Query(Importrange("URLA","TabAA!A1:A2"). Я понимаю, что в данном упрощенном случае вы просто поместите формулу там, где вам нужна сумма.
Изменить: что-то, что я заметил, было, когда я хотел использовать формулу с двойными кавычками, вышеуказанный сценарий не работал, потому что когда вы заключили формулу в двойные кавычки в двойные кавычки, вы получаете сообщение об ошибке, поскольку вам нужны одинарные кавычки внутри двойных кавычек. Пример, который я пробовал: if(counta(iferror(query(B15:C,"select C, где C = 'Rapid Shot' и B = true")))>0,Core!$C$18+$C$10&" / ",)&Core!$C$18+$C$10 и if(Core!$C$18>5," / "&Core!$C$18-5+$C$10,)&if(Core!$C$18>10," / "&Core!$C$18-10+$C$10,)&if(Core!$C$18>15," / "&Core!$C$18-15+$C$10,) В этом случае я помещаю другую формулу в электронную таблицу Ячейка A2 в TabAA со значением ="="&A1. Затем скорректировал ссылку диапазона импорта в электронной таблице B, чтобы вместо этого ссылаться на эту ячейку.
Кстати, это абсолютно работает, поэтому, если вы не можете этого понять, дайте мне знать, где у вас проблемы, я не очень много сотрудничаю, поэтому, возможно, я не говорю что-то ясное или использую правильную / лучшую терминологию, но снова я ' Я видел много сообщений, в которых говорилось, что это невозможно, и никто не говорил, что нашел другой способ. Спасибо ~ K за D zizzle.