Відповіді:
За допомогою цього маленького фрагмента ви можете це зробити.
function isFormula(startcol, startrow) {
// prepare string
var str = String.fromCharCode(64 + startcol) + startrow;
// retrieve formula
var fCell = SpreadsheetApp.getActiveSpreadsheet()
.getRange(str).getFormula();
// return false if empty else true
return fCell ? true : false;
}
У цій відповіді Том Хорвуд знайшов спосіб обійти використання цитат.
Додайте скрипт у меню Інструменти> Редактор сценаріїв і натисніть кнопку помилки, щоб активувати аутентифікацію.
Я створив для вас прикладний файл: Перевірте формулу
isFormula(a1)
? (у MS excel це була б функція, яка отримує параметр діапазону)
Використовуйте вбудовану функцію ISFORMULA () .
Я думаю, що щойно я виявив незадокументовану формулу в нових Google Таблицях. @Pnuts говорив, що CELL
формула не працює (частково тому, що вона доступна лише в нових таблицях Google), тому я скопіював код у новий Google Sheet. Піднялася помилка, сказавши мені, що моя (спеціальна) формула приймає лише один аргумент, а не два:
Перейменування isFormula
в щось інше призвело до функціонування спеціальної функції. Після цього я створив ще один Google Sheet і використав isFormula
формулу. Формула не відображається в автоматичному завершенні, але вона працює:
Отже, якщо формула буде доступна у нових таблицях Google, то це буде найкращою відповіддю:
=isFormula(A1)
Доступний лише в нових таблицях Google. Я попросив декількох інших людей підтвердити нову формулу і вона підтверджена. Оскільки він не є документальним, його реалізація не є впевненою, і може зникнути. ARRAYFORMULA
Чи не працює при використанні цієї нової формули.
Я створив для вас прикладний файл: isFormula
Схоже, є прихована вбудована функція ISFORMULA()
від Google. Я зрозумів, коли видалив власну функцію і все ще працював. Я спробував це в новій електронній таблиці і досі працює. Немає проблеми з кешем.
isFormula2("A1")
. тому я спробував створити нову його версію, як це:function isFormula2(cell) { return (cell.getFormula())!=""; }
і я очікував, що вона може бути викликана за допомогою,isFormula2(A1)
але це, мабуть, не працює, і при спробі налагодження це виявляєтьсяcell
як невизначене ... будь-яка ідея, чому це так, і якщо все може бути змінили, щоб він працювавf(A1)
замістьf("A1")
?