SETxd, честно говоря, из вопроса сложно понять, что именно вы хотите. Я просто взял формулу со скриншота и немного переделал. Однако я надеюсь, что комбинируя условия и альтернативы выбора, вы сами дойдёте до решения, даже если в итоге получится монстр типа: IF(IF(условие;IF(условие;вариант1;вариант2);и т.д.
Главная подсказка от меня - это условие, как взять дробную часть: вычесть целую и сравнить с нулём. INT(A1)-A1=0
Zadudoser, решение зависит от того, в рамках чего выдано задание, то есть какие ограничения, кроме Вид->Закрепить. Ведь всегда можно написать полностью своё расширение, которое выполнит поставленную задачу. В любом случае, здесь задачи запрещены, так что придётся решать самостоятельно.
Zadudoser, а почему такое ограничение? Почему можно только с помощью формулы? У вас запрет на использование некоторых возможностей вашей таблицы или что?
Владимир, да, глобальную функцию объявлять нужно в глобальном контексте, а не внутри другой функции. Но не стоит забегать вперёд на этапе "а зачем вообще глобальное пространство". :)
Soul1, background.js не относится ни к какому сайту и ни к какой вкладке, так что код из него и не должен находить элементы на страницах. Пишу на всякий случай, так как это вы похоже и так знаете.
Контент-скрипт может не находить некоторые элементы, которые созданы после выполнения контент-скрипта, например через setTimeout.
getElementsByClassName всегда возвращает HTMLCollection, без вариантов, это не ошибка. А вот то, что из кода 0, а из консоли 1, это уже не порядок. Ищите проблему поэтапно. Как вариант, посмотрите, а что вообще находит, та ли эта страница или не та и т.д.
Антон Шаманов,
5 - это 101 (в двоичной системе), то есть 1+4, то есть (a|c)
7 - это 111, то есть 1+2+4, то есть (a|b|c)
Любое число от 0 до 31 будет валидным набором флагов, если их всего пять и если нет каких-то специальных условий.
Таким специальным условием может быть, например, ограничение количества флагов. Например, максимум 2 флага. Тогда и правда 7 будет невалидной маской. Но тогда и функцию нужно делать соответственно критерию невалидности. Например, в примере выше нужно подсчитывать количество флагов (т.е. количество бит в маске).
P.S. можно назвать "массив JSON" и это тоже будет верно. Вообще массив, как таковой, это прежде всего возможность быстрого доступа по числовому индексу. Это главное. А список больше ассоциируется со связным списком, который совсем не то. И так как JSON - это текстовый формат, то о "доступе" говорить не приходится, о нём можно будет говорить только после распаковки в какую-нибудь структуру в памяти.
И при чём здесь ООП? Я конечно люблю ООП, но его тоже надо уметь готовить и не применять везде подряд. В Луа ООП возможно (впрочем, как в ассемблере и любом другом языке, где ООП не предусмотрено синтаксисом напрямую). Достаточно спросить у гугла, как ООП возможно в Луа (спойлер: практически так же, как и в JavaScript).
С учётом того, что это открытое тестирование для массовой аудитории.