我正在尝试添加对数据透视表的行部分进行条件格式设置根据在数据透视表中的值部分找到的结果。我已经在值部分设置了条件格式,如果字段为空,则以黄色突出显示。我的需求是能够以黄色突出显示员工姓名,如果数据透视表上显示的最后一个月份为空...这意味着员工已被解雇。所附图片是查看 4 月和 3 月的结果时报告的理想样子。在这两种情况下,我都手动突出显示了员工姓名。
[2
样本数据:
Employee,Title,Dept,Month,Value
Amy Johnson,Manager,Sales,January,1
Amy Johnson,Manager,Sales,February,1
Amy Johnson,Manager,Sales,March,1
Dane Jones,Director,Operations,March,1
Dane Jones,Director,Operations,April,1
Dennis Cage,Manager,Marketing,January,1
Dennis Cage,Manager,Marketing,February,1
Erick Smith,VP,Sales,January,1
Erick Smith,VP,Sales,February,1
Erick Smith,VP,Sales,March,1
Erick Smith,VP,Sales,April,1
答案1
这应该可以让你朝着正确的方向前进:
=OFFSET($H3,0,2+XLOOKUP(0,INT($K$2:$V$2<>""),SEQUENCE(1,12),"")-1)=""
INT($K$2:$V$2<>"")
返回一个 12 列的整数数组,如果第 2 行在该列中有值(从 K 开始,这是我的数据透视表的第一个列标题所在的位置),则包含 1;如果该列中没有值(即超出了最后一个列标题),则包含零。这依赖于您的数据透视表右侧没有任何其他数据或对象,以便有足够的空间来显示 12 个月,我认为您无论如何都需要它,否则当您尝试刷新数据透视表时会收到一条错误消息,并且没有空间可供其增长。
XLOOKUP
正在搜索返回的数组中的第一个“0”,INT
并返回 所指示的相应位置SEQUENCE(1,12)
,这只是一个 12 列递增整数数组。因此,如果数据透视表显示四个月,则 搜索XLOOKUP
零,发现第一个零在第 5 个位置,因此从 返回 5。SEQUENCE
然后我们减去 1 得到 4。
除此之外,我们知道员工姓名和第一个月份列之间有两列。因此,OFFSET
它只是说,“给我此行下方零行且此列右侧 2+4 列的值”。如果它找到的单元格为空,则规则公式返回 TRUE 并将名称颜色为黄色。
您可能需要进一步修改公式,以解决数据透视表中的名称数量低于“AppliesTo”范围内指定的行数的情况,以避免数据透视表下方的空单元格变成黄色。