迷你图根据不同的值改变颜色

问题描述

我希望让我的迷你图根据值改变颜色以反映产品过期并显示产品何时交付:

颁发日期(C10)、到期日期(D10)、迷你图(J10)、证书状态(K10):

理想情况下,我希望单元格为绿色,随着日期接近到期,我希望单元格填充为红色 - 一旦证书状态更改为“已交付”,迷你图将变为灰色。除了基本的迷你图,我是新手,其他任何东西都会产生错误或解析错误

解决方法

听起来您想要的是动态更改 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)