日历中的单元格值而不是突出显示

时间:2016-01-09 14:52:06

标签: excel excel-vba excel-formula vba

我正在使用条件格式突出显示日历中每个员工休假日期的日期,该条件格式是完美的,但我想要而不是突出显示日期前面提到的姓名显示在日历中。

  

= SUMPRODUCT((B3< = $ I $ 19:$ I $ 150)*(B3> = $ E $ 19:$ E $ 150))= 1

cal

我想在日历中显示名称而不是绿色突出显示。 公式或VBA;什么都可以接受。

1 个答案:

答案 0 :(得分:2)

在B3中提出这个:

=IFERROR(INDEX($A$20:$A$151,MATCH(1,IF(DATE($D$1,ROWS($A$3:$A3),B$2)>=$E$20:$E$151,IF(DATE($D$1,ROWS($A$3:$A3),B$2)<=$I$20:$I$151,1)),0)),"")

这是一个数组公式,必须使用Ctrl-Shift-Enter确认。然后复制并横跨。

enter image description here

如果仅在假期的第一天使用该名称,则更简单的INDEX / MATCH功能对就足够了。

在B3中,

=IFERROR(INDEX($A$20:$A$150,  MATCH(DATE(YEAR($A3), MONTH($A3), B$2), $E$20:$E$150, 0)), "")

向右和向下填充。

holiday_planner_calendar2

注意:

如果存在重叠,这些只返回名字。

根据您的本地信息,您可能需要将分隔符从,更改为;

如果您仍想要条件格式,请将条件格式公式更改为:

=B3<>""