在使用 Excel 给出雇佣期限的特定生效日期获取雇员的雇主身份

问题描述

员工编号 雇主 Date_of_joining
123 adobe 22/03/2004
123 亚马逊 14/07/2010
123 adobe 04/04/2013
126 爱立信 09/06/2004
126 谷歌 30/06/2010
126 亚马逊 30/08/2019

基于上表,我试图编写一个excel公式来填充下表中的值: 在第 1 行显示了员工 123 的一个示例

员工编号 01/07/2010 01/07/2011 01/07/2012 01/07/2013 01/07/2014 01/07/2015
123 adobe 亚马逊 亚马逊 adobe adobe adobe
126 - - - - - -

我关注的应用程序如下:

如果从excel的角度来看,excel会先检查员工,然后检查生效日期是否小于加入日期,然后选择相应的雇主。

使用公式:

=IF(AND(MATCH($C14,$A$2:$A$7,0)>0,D$13

但我知道我没有使用正确的逻辑,谦虚地请求帮助我!!

解决方法

当您使用 Excel2010 时,您需要一些数组公式。试试下面-

// the function
filterItems = (data,filters) => data.filter(item => !filters.find(x => x.key.split('.').reduce((keys,key) => keys[key],item) !== x.value))

// how to use it
filterItems(data,[{ key: 'type',value: 'wood' },{ key: 'some.nested.prop',value: 'value' }])

CTRL+SHIFT+ENTER 计算公式,因为它是一个数组公式。

enter image description here