标签: conditional-formatting

使用图标集和公式进行条件格式设置

基本上,我尝试使用条件格式图标集,即绿点、橙点和红点。

如果我的值小于我的公式值,则显示绿点。

如果我的值等于我的公式值,则显示橙色点。

如果我的值大于我的公式值,则显示红点。

这是我尝试使用的确切公式:

VLOOKUP(product_ID,product_db,3,FALSE)
Run Code Online (Sandbox Code Playgroud)

product_ID是我尝试应用条件格式的单元格旁边的单元格。product_db是另一个工作表中的一个大表。

虽然,当我尝试使用它时,格式根本没有应用于我的单元格。不显示任何点。

我相信这是因为我的公式。有任何想法吗?


编辑:

以下是正在发生的事情的一些屏幕截图:

这是调理前的数量:

这是条件反射,其公式为:=VLOOKUP(invoice_product,PRODUCT_DATABASE,3,FALSE)

在此输入图像描述

数量与第一张图像完全相同,没有变化。我的公式应返回的值为 2,因此应显示橙色点。

excel conditional-formatting vlookup excel-2011

5
推荐指数
1
解决办法
5万
查看次数

使用不同的条件格式规则更改单元格背景和前景色

为了视觉目的,我使用条件格式中的一些任意公式对工作表行的背景进行着色 \xe2\x80\x94 例如,用 进行条纹化=ISEVEN(ROW()),或基于特定列的文本内容 进行着色=$B1="Groceries"

\n

但现在我还希望列表中的某些单元格根据另一个不相关的公式具有自定义前景和文本颜色。例如,如果以 开头,则为红色;如果高于/低于零,则为红色/绿色;如果子字符串匹配则为蓝色,等等。+

\n

问题是,每条规则都尝试设置单元格的背景和前景色的格式,并且一条规则始终先于另一条规则。较低的规则使背景呈浅绿色,然后较高的规则使文本呈红色......即使我没有指示较高的规则影响背景(它是默认的白色),它仍然会覆盖较低的规则的背景。所以现在它是白色背景上的红色文本 \xe2\x80\x94 较低的规则完全被忽略。

\n

我可以手动创建每种可能组合的“排列”:例如,浅绿色背景和红色文本 if =AND($B1="Groceries",C1>0),浅绿色背景和绿色文本 if =AND($B1="Groceries",C1<0),浅蓝色背景和红色文本 if=AND($B1="Laundromat",C1>0)等等......但这得到不守规矩而且非常乏味,特别是如果我对前景背景都有很多可能性的话。

\n

有什么方法可以指示条件格式规则仅格式化背景或前景吗?

\n

conditional-formatting google-sheets

5
推荐指数
1
解决办法
1303
查看次数

SSRS 条件格式

我正在制作 SSRS 排名报告,其中排名 1 应具有绿色背景,最后排名应具有红色背景。

下面的例子:

SSRS 条件格式

我尝试使用自定义代码,但这对我不起作用,如下所示:

SSRS 表达式使用如下:

=Code.RankColour(me.value, 1, Fields!RankName.Value)
Run Code Online (Sandbox Code Playgroud)

RankColor代码如下:

Public Function RankColourTotals(ByVal Value As Decimal, ByVal MinValue As Decimal, ByVal MaxValue As Decimal) As String
    Dim strColor As String

    Select Case Value
        Case MaxValue
            strColor = "Salmon"
        Case MinValue
            strColor = "LightGreen"
        Case Else
            strColor = "Gainsboro"
    End Select
    Return strColor
End Function
Run Code Online (Sandbox Code Playgroud)

注意:我使用的是 SQL 2008 R2

sql-server conditional-formatting reporting-services ssrs-tablix ssrs-2008-r2

5
推荐指数
1
解决办法
6357
查看次数

如何突出显示表格每一行中的最高值?

在 Google Sheets 中,我想突出显示表格每一行中的最大值。

我尝试使用条件格式,但到目前为止没有任何成功。

conditional-formatting max google-sheets conditional-statements google-sheets-formula

5
推荐指数
1
解决办法
4731
查看次数

R kable/kableExtra,按百分比条件格式化(带有缺失值)

我正在使用 kable 和 kableExtra 并希望显示一个包含百分比列的表格(格式为“95%”)。我还想根据百分比值(具有多种颜色和切点)对单元格背景进行条件格式设置。另外,还混杂了一些NA。

我已经尝试了这篇文章中的一些方法,但不喜欢 cell_spec 背景着色不会对整个单元格进行着色,因此更愿意在 kable 中使用 column_spec 。然而,我发现的所有显示百分比的选项都将百分比转换为字符变量,这限制了我执行条件格式的能力。

当我简化示例代码以发布到此处时(经过几个小时的错误),我终于使用 startWith 使其工作(在本例中这是一个不错的解决方案,因为我的切点位于 80% 和 90%,但对于所有情况)。

df <- tibble(
          x=c(1:6),
          percents =c (1, .95, .82, .77, .62, NA)
          )
    
df$percents <- percent(df$percents, accuracy = 1)

kable(df, booktabs=TRUE, escape=FALSE ) %>% 
   kable_styling() %>% 
  column_spec(2, background = if_else(startsWith(df$percents, '100'), "Darkgrey", 
                              if_else(startsWith(df$percents, '9'), "Darkgrey", 
                              if_else(startsWith(df$percents, '8'), "silver", "lightgray", 
                              "white"), "white"), "white"))
Run Code Online (Sandbox Code Playgroud)

我很好奇是否有人有另一种解决方案来保留将百分比值作为数字而不是字符来使用的能力。

谢谢你!

r conditional-formatting percentage kableextra kable

5
推荐指数
1
解决办法
5098
查看次数

根据条件突出显示行

我有一个包含两列日期的随机数据框,我一直在尝试突出显示条件日期列表中存在开始日期的行。这是我失败的尝试:

import pandas as pd 
import numpy as np
import datetime

df = pd.DataFrame({"Start": pd.date_range("1-jan-2021", periods=10, freq="1H")}).assign(**{"End": lambda d: d["Start"]+pd.Timedelta(hours=20)})

date_condition = ['2021-01-01 05:00:00','2021-01-01 08:00:00', '2021-01-01 02:00:00']
df = df.style.applymap(lambda x: 'background-color : yellow' if x['Start'] in date_condition)
Run Code Online (Sandbox Code Playgroud)

由于我尝试使用 xlswriter 导出此数据框,因此我正在寻找一种即使在 Excel 文件中也能保持背景颜色的方法。谢谢 !

conditional-formatting pandas xlsxwriter pandas-styles

5
推荐指数
1
解决办法
3931
查看次数

如何仅在两列中查找重复项而另一列不同

我想找到两个(或更多)行具有相同的 x,y (位置)但 ID 不同的位置。

在下表中,我只想了解最后两行。

X y ID
1 2 1
1 2 1
1 3 4
2 3 1
2 3 2
# example data
x <- read.table(text = "x   y   id
1   2   1
1   2   1
1   3   4
2   3   1
2   3   2", header = TRUE)
Run Code Online (Sandbox Code Playgroud)

r conditional-formatting subset duplicates dataframe

5
推荐指数
1
解决办法
218
查看次数

发散颜色DataBar(条件格式)-openpyxl pandas

如何使用pandas和在数字数据列上添加条件格式规则openpyxl,该规则将为负值和正值使用不同的颜色?最终,与在 Excel 中对列应用数据条规则时得到的结果完全相同。

预期输出

在此输入图像描述


我相当成功地将条件格式应用于仅包含正值的列,使用:

from openpyxl.formatting.rule import DataBar

rule_pos = DataBarRule(start_type="percentile",start_value=10, end_type="percentile",
        end_value="90", color="FF638EC6", showValue="None", minLength=None,maxLength=None)

wb["sheet_name"].conditional_formatting.add("K44:K48", rule_pos)
Run Code Online (Sandbox Code Playgroud)

成功返回:

在此输入图像描述


这可以通过利用、 和参数Excelwriter来实现。conditional_format'min_color': 'red''max_color':'green'

我尝试了几种不同的方法,例如分别对绿色/红色数据条应用否定和肯定规则,或者调整 的openpyxl条件格式的参数。我得到的结果是相同的颜色,但负值的条形较小。事实证明这比我预期的要棘手。

python conditional-formatting pandas openpyxl pandas.excelwriter

5
推荐指数
0
解决办法
686
查看次数

带条件的 groupby() - 计数/平均值

我有数据框:

test = pd.DataFrame({'Date': [2020 - 12 - 30, 2020 - 12 - 30, 2020 - 12 - 30, 2020 - 12 - 31, 2020 - 12 - 31, 2021 - 0o1 - 0o1, 2021 - 0o1 - 0o1], 'label': ['Positive', 'Positive', 'Negative', 'Negative','Negative', 'Positive', 'Positive'], 'score': [70, 80, 50, 50, 30, 90, 70]})
Run Code Online (Sandbox Code Playgroud)

输出:

   Date         label       score
2020-12-30      Positive    70
2020-12-30      Positive    80
2020-12-30      Negative    50
2020-12-31      Negative    50
2020-12-31      Negative    30
2021-01-01      Positive    90
2021-01-01      Positive    70
Run Code Online (Sandbox Code Playgroud)

我的目标是按日期分组并计算标签数。此外,分数应该仅计算当天较高的标签/分数的平均值。例如,如果当天的积极分数多于消极分数,则应计算没有消极分数的积极分数的平均值,反之亦然。 …

python group-by conditional-formatting pandas

5
推荐指数
1
解决办法
69
查看次数

如果星期几是星期二,则COUNTIF功能

我只需要在另一列中的相应单元格是星期二时计算一列.示例图像是:

SO25561294问题的例子

最初,我试图使用与WEEKDAY配对的COUNTIFS功能但我无法使其工作.

=COUNTIFS(B2:B32,TRUE,A2:A32,WEEKDAY(3))
Run Code Online (Sandbox Code Playgroud)

要么

=COUNTIFS(B2:B32,IF(A2=WEEKDAY(3),1,0))
Run Code Online (Sandbox Code Playgroud)

每个单元需要每周星期二计算.如果他们在被认为迟到之前或之后的一天计算.需要做的是,每个单位需要计算他们计算的天数,然后计算他们不计算的天数.在过去,我通过基于月中天数的简单算术公式完成了最后一部分.除了两个计数之外,我还需要用红色背景填充任何遗漏的细胞.

实际工作表有几个表格,格式相同,范围从1列到65列.

excel conditional-formatting excel-formula countif array-formulas

4
推荐指数
1
解决办法
1万
查看次数