Я пытаюсь изменить значение ячейки в Google Sheets на основе значения соседней ячейки. Эта смежная ячейка получает свое значение от цвета смежной с ней ячейки, используя формулу из этого ответа Quora. Таким образом, значение ячейки должно меняться в зависимости от шестнадцатеричного кода, который получается из цвета первой ячейки. В данный момент существует четыре возможных шестнадцатеричных значения, поэтому я пытался поместить четыре разных оператора IF в одну и ту же ячейку, поэтому его значение изменяется в зависимости от этого.
Моя первая попытка привела к ошибке разбора формулы:
=if((J2="#00ff00","Read"), if(j2="#ff0000", "Unread"), if(j2="#ff9900","In Progress"), if(j2="#000000", "Not Applicable"))
Понятно, что нельзя просто разделять операторы запятыми. Основываясь на этом вопросе переполнения стека, я попробовал этот код с вложенными операторами IF:
=if((J2="#00ff00","Read", if(j2="#ff0000", "Unread", if(j2="#ff9900","In Progress",if(j2="#000000", "Not Applicable")))))
Это также приводит к ошибке разбора формулы.
Можно ли как-то просто включить несколько операторов IF в одну ячейку, что будет работать для моего кода?
источник
Ответы:
Используйте
lookup
вместоif
:Обратите внимание, что второй параметр должен быть отсортированным списком.
источник
ifs
?Короткий ответ
Проблема в приведенных примерах заключается в скобках. Примените их правильно.
объяснение
IF()
Функция должна иметь два параметра и, необязательно, третий.Конкретная проблема с
IF()
имеет слишком много параметров.logical_expression
внешниеIF()
не возвращаютTRUE
илиFALSE
В Google Sheets параметры функций разделяются запятыми (или точками с запятой, если ваша таблица использует запятую в качестве десятичного разделителя). Когда круглые скобки используются для включения нескольких операций и функций в функцию, они рассматриваются как параметр функции, которая их содержит.
Обычная практика - это ставить внутреннее
IF()
какvalue_if_false
, но это можно сделать разными способами. ДобавлениеIF()
внутри другого другого какvalue_if_true
иvalue_if_false
называетсяIF() logical test nesting
или простоIF() nesting
.Ниже приведен пример формулы, в которой три
IF()
, два из них используются для определенияvalue_if_false
родительского элементаIF()
. Для удобства чтения применяется многострочное и вертикальное выравнивание стиля скобок.Вышеупомянутый стиль может быть использован при написании формулы Google Sheets. Я нашел это полезным для отладки формул.
Ссылка
источник
Я только что узнал, как объединить, если и или.
Пример:
Итак, для вашего примера:
Источник: Совместное использование логических функций IF, AND, OR в электронной таблице Google Doc .
источник
Например, вы можете вкладывать операторы IF
Должно сработать
ИЛИ
вы можете использовать вложенный IFAND, например,
Также будет работать.
источник
Вам предложили теорию и лучшие подходы, но вы должны ответить конкретно:
Пожалуйста попробуйте:
То есть ваша вторая попытка без первой открывающей скобки и без последней закрывающей скобки.
источник