我不是Excel的专家,但我一直在使用这种格式。
我正在尝试使用公式在Excel工作表中列出我的员工名单。
我的第一张纸使用行名称TIME作为优先级,并使用员工名称填充其他列。
现在在第二张纸上,我想在每个工作人员的ROW中使用一个公式,该列会自动填写每个名字的TIME。
请尽可能帮助我。
谢谢。
答案 0 :(得分:0)
使用INDEX / MATCH
组合。像这样:
=IFERROR(INDEX(Sheet1!$B$3:$B$9,MATCH($A2,Sheet1!C$3:C$9,0)),"OFF DAY")
语法:
=INDEX(rng,index_number)
- 根据索引号
=MATCH(lookup_value,rng)
- 返回查找值的相对位置
=INDEX(rng,MATCH(lookup_value,rng))
- 我们知道除了一个 - index_number
之外的所有论点。由于MATCH
函数的输出与index_number相同,我们将用MATCH
函数替换index_number。
您几乎可以将INDEX/MATCH
组合视为:
=INDEX/MATCH(rng,search_value)
=IFERROR(value_or_expression_to_evaluate,value_to_return_if_error)
- 最后,我们将使用这个公式包装我们的公式,如果没有匹配将返回一个值,这意味着,在您的示例中,员工是休假,在休息日,或其他什么。也可以是=IFNA
。
现在,要返回具有多个匹配的lookup_value的所有值,就像在您的示例中一样,其中" Tam"周一有两班倒,您可以使用带有员工姓名的尾随号码,即" Tam1"和" Tam2"表示给定日期的班次数。或者您也可以使用COUNTIF
函数(计算" Tam"的移位数)和CONCATENATE
的组合将结果连接在一起,以便输出将是: 630-1430 / 1230-2200
。根据您的要求,有很多方法可以做到这一点。
希望这会有所帮助..