使用一个简单的谷歌表单,让员工提交他们的每日小时。(名称将是一个动态列表,使用表单Ranger Addon,它将由一个google表填充,其中包含所有员工的名字。)
Google表单将链接到此Google工作表,该表包含以下列: Employee _ Date、Date、Start time、End time,然后是计算出的列、总计小时数和小时费率。
这就是我陷入困境的地方!,我希望每小时的薪酬是一个数组式,并且是基于不同纸张的值的动态的。听我解释!
员工的工资可能会在全年发生变化,我希望每个员工每天提交的时薪线金额是动态的,根据员工的变动率计算。
我想有一个单独的表格,在那里,我将填写员工的每小时工资和每次工资变动。这会是这样的。
因此,最后:
如何编写数组公式,根据行中的日期(提交的日输出)返回员工时薪?
我在想某种嵌套的XLOOKUP,但我完全被困住了。
帮助善良的人!
发布于 2023-03-24 19:04:50
此公式将根据工作日期返回时薪,忽略不适用的未来加薪。
=LAMBDA(r, INDEX(r, XMATCH(dateWorked, INDEX(r,, 2), -1), 3))
(SORT(FILTER(rateTable,INDEX(rateTable,, 1)=employee),2, FALSE ))
r
代替。r
r
中查找与工作日期匹配的日期或较旧的日期。此版本采用上述公式,并使用拜罗瓦对name列(A列)中的每一行执行相同的兰卜达公式。
employee
被创建为A2:A500
,employee
传递给兰卜达函数,其中当前行由任意选择的名称e
表示。e
为空(没有输入数据),则跳过公式:IF(e<>"", <formula>, IFERROR(1/0)
(``IFERROR(1/0)是返回真正空白结果的工作表技巧);A2
)获取"employee“,我现在可以在公式中使用e
;e
变量,但可以使用偏移量来指示数据与"employee”相关的位置。在"dateWorked“中,0 rows
和1 column
远离"employee”列:OFFSET(e, 0 , 1)
=BYROW(employee, LAMBDA(e,
IF(e<>"",
(LAMBDA(r, INDEX(r, XMATCH(OFFSET(e,0,1), INDEX(r,, 2), -1), 3))
(SORT(FILTER(rateTable,INDEX(rateTable,, 1)=e),2, FALSE ))),
IFERROR(1/0))
))
https://webapps.stackexchange.com/questions/169923
复制相似问题