Excel:为一个给定的范围在一行中标识2+个单独的实例

在这里输入图像说明

上面的图片是左下方的工作人员和上方的一年中的天数的电子表格。 周末是蓝色的。

对于给定范围的date,我想要实现的每一行都是为了确定两个或更多个不同的缺席事件。 一些代码被认定为缺席,即IL – 疾病,PR – 个人理由,有些不是DE – 牙医,MW – 助产士。

最上面的一行就是一个有两个或两个以上单独缺席的好例子。

一个缺席不限于一天,所以如果同时缺席有点像MA的例子,那么他们将被视为缺席。 尽pipeMA不会代表产假。

抱歉不提供任何代码,因为我卡在哪里开始。 即使是正确的方向提示将有所帮助。

你需要在你的数据周末吗?

我有一个使用SUMPRODUCT的解决scheme,但是它并没有把周末的缺席视为一个单独的块(例如MA块)。 以下是根据您的要求提供的一些虚拟数据的屏幕截图 。

AI中的公式是基于AI3的:

=SUMPRODUCT((B3:AG3<>"-")*(B3:AG3<>"")*(A3:AF3="-")*1)+SUMPRODUCT((B3:AG3<>"-")*(B3:AG3<>"")*(A3:AF3="")*1) 

第一个产品公式中的第一项决定范围(B到AG)中的哪些列不存在缺失(由短划线表示)。

第二项确定哪些列是周末(空白)。

第三项确定哪些以前的专栏(半天)没有缺席(短划线) – 在数据之前有必要有一个空白列(例如列A(如本例所示 – 这可以隐藏))。

第二个产品配方做同样的事情,但第三个任期处理前一个半天是周末(空白)。

正如你所看到的,除了MA缺席的单个块之外,这一切都可以工作。 如果你要删除周末列,公式可以简化。