Спарклайн для изменения цвета на основе разных значений

Я хочу, чтобы мой спарклайн менял цвет в зависимости от значений, чтобы отразить срок годности продукта, а также показать, когда продукт был доставлен:

Дата выдачи (C10), срок действия (D10), спарклайн (J10), статус сертификата (K10):

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


person Gregor Carswell    schedule 22.01.2021    source источник
comment
Можете ли вы предоставить копию электронной таблицы, над которой вы работаете, с отображением данных и спарклайна?   -  person Iamblichus    schedule 22.01.2021
comment
docsheets/read   -  person Gregor Carswell    schedule 22.01.2021
comment
Этот документ ограничен, вы можете сделать его общедоступным? (разумеется, удалите всю конфиденциальную информацию)   -  person Iamblichus    schedule 22.01.2021


Ответы (1)


Похоже, вы хотите изменить color1 динамически. Вы можете сделать это путем интерполяции значения и объединения в строку. Предполагая входную строку 10, как в вашем вопросе:

=SPARKLINE(NOW()-C10,
{
  "charttype","bar";
  "max",D10-C10;
  "color1",IF(
    K10="Delivered",
    "gray",
    "rgb("&INT(255*(NOW()-C10)/(D10-C10))&","&INT(255*(D10-NOW())/(D10-C10))&",0)"
  )
})
  • Здесь введены данные Now()-C10, которые передаются в спарклайн.
  • Оператор IF заменяет цвет на серый, если K10="Delivered".
  • Строка rgb устанавливает более красный цвет по мере приближения даты к дате истечения срока и более зеленый цвет по мере приближения даты к дате выдачи.

Если вы хотите, чтобы при доставке была полностью серая полоса, вы можете установить для свойства max значение (K10<>"Delivered")*(D10-C10).

person Calculuswhiz    schedule 22.01.2021
comment
Идеально - работает приятно. Я очень ценю, что вы уделили этому внимание! - person Gregor Carswell; 22.01.2021