1

Я попытаюсь объяснить это как можно лучше, но настолько широко, насколько я могу. Я искал ответы, но я не совсем уверен, что искать.Условное форматирование электронных таблиц Google на основе значений в отдельном столбце на основе проверки данных с отдельного листа

Я делаю журнал электронных таблиц с - главным входом на sheet1 - статический список имен и данных о sheet2

значений входных sheet1 I через верификацию данных на основе имен в sheet2.
Позже я добавляю значение в sheet1.
Это значение нужно сравнить с минимальным и максимальным значением, которое указано в листе2, а затем цветовым кодированием посредством условного форматирования на основе отклонения% от значений в sheet2.

Например:

В sheet1:

В sheet1 У меня есть данные:

 A       B 
1 value      OG 
2 British Brown Ale   1.045 

значение "British Brown Ale" вводится через выпадающий список заполняется из списка проверки данных.
В B2 У меня есть значение для "OG", являющееся 1.045.

В sheet2:

Данные в sheet2 выглядит следующим образом:

 A       B   C 
1 value      min OG  max OG 
2 British Brown Ale   1.040  1.052 

В ряду с "British Brown Ale":

  • в колонке 2 ("Min О.Г. ") У меня есть значение 1.040
  • в столбце 3 (« Макс. ОГ ») У меня есть значение 1.052

Желаемая Result

мне нужно сделать:

  1. диапазон от 1.040 до 1.052 100% в пределах диапазона и цветового кода, зеленый,
  2. Если значение в sheet1!B2 было например, до 10% за пределами этого диапазона, он будет иметь желтый цвет,
  3. и более 10% будет красным цветом.

Так что мой базовый вопрос, как я могу использовать условное форматирование, которое можно сравнить значения, как и выше? Мне нужны сценарии для этого?

ответ

0

Это возможно делать только с формулами. Лучший способ - использовать только ArrayFormula, чтобы сделать все формулы espand автоматически.

Sheet2

Добавьте две колонки: "мин - 10%" и "не более + 10%"

в ячейке D2:

=ArrayFormula(OFFSET(B2,,,COUNTA(A2:A))/1.1) 

в ячейке E2:

=ArrayFormula(OFFSET(C2,,,COUNTA(A2:A))*1.1) 

Результат:

enter image description here

sheet1

4 формулы, чтобы получить "мин", "макс", "мин-10%", "макс + 10%"

в ячейке C2:

=ArrayFormula(VLOOKUP(OFFSET(A2,,,COUNTA(A2:A)),sheet1!A:E,2,0)) 

в ячейке D2:

=ArrayFormula(VLOOKUP(OFFSET(A2,,,COUNTA(A2:A)),sheet1!A:E,3,0)) 

в ячейке E2:

=ArrayFormula(VLOOKUP(OFFSET(A2,,,COUNTA(A2:A)),sheet1!A:E,4,0)) 

в ячейку F2:

=ArrayFormula(VLOOKUP(OFFSET(A2,,,COUNTA(A2:A)),sheet1!A:E,5,0)) 

И одна формула, чтобы иметь цвет:

=ArrayFormula(if(--(OFFSET(B2,,,COUNTA(A2:A))<OFFSET(E2,,,COUNTA(A2:A)))+B2>F2,"red",if((OFFSET(B2,,,COUNTA(A2:A))>=OFFSET(C2,,,COUNTA(A2:A)))*(+OFFSET(B2,,,COUNTA(A2:A))<=OFFSET(D2,,,COUNTA(A2:A))),"green","yellow"))) 

Результат:

enter image description here

правила условного форматирования для Лист1

Выберите столбец B, добавить 3 новых правил условного форматирования (CF), пользовательские формулы:

первый, зеленить:

=$G1="green" 

рядом, краска желтый :

=$G1="yellow" 

рядом, краска красный:

=$G1="red" 

Тогда вы можете скрыть дополнительные столбцы.

Результат:

enter image description here


Я думаю, что все это возможно сделать только с 3 огромных arrayformulas внутри CF, не делая дополнительных столбцов, но это трудно построить.

+0

Я совершенно незнаком с ArrayFormula, и я не совсем уверен, что понимаю, что он делает так, как вы его настраивали, - но я постараюсь сделать эту работу и отчитаться здесь. Прежде чем вы разместили это, я приготовил рабочую формулу, которая запускается зеленым цветом при использовании в ячейке, но я не мог заставить ее работать с условным форматированием, так как я ссылался на другой лист, и это, по-видимому, невозможно. '= IF (AND (H4 * 1000> INDEX (Стили M: M, MATCH (F4, Стили C: C, 0)), H4 * 1000 <= INDEX (Стили! N: N, MATCH (F4 , Styles! C: C, 0))), «Inside Range: Green», «Outside Range») ' – Nixxen

+0

Не удалось ответить всем в одном сообщении. Очистить; 'F4' - это данные, подтвержденные« British Brown Ale ». 'Стили!' Быть листом2. 'H4' является' OG' в sheet1. Столбец 'Styles! M' является ссылкой' min OG'. 'Styles! N' является ссылкой' max OG'. – Nixxen

+0

Есть ли способ сделать это, используя методы ArrayFormula без необходимости редактировать Sheet2? Это прямая копия официальной таблицы 1: 1 и предпочла бы не делать никаких изменений. В конце будет в общей сложности 3 диапазона Min/Max, которые будут закодированы на основе этого цвета, поэтому чем меньше дополнительных столбцов, тем лучше. Справочный лист не очень большой - всего 119 стилей - поэтому «тяжелые» алгоритмы должны работать. – Nixxen

Смежные вопросы