使用搜索,查找和替换一个工作表中的文本到excel中的其他工作表

时间:2018-05-02 15:04:47

标签: excel-formula

我不是Excel的专家,但我一直在使用这种格式。

我正在尝试使用公式在Excel工作表中列出我的员工名单。

我的第一张纸使用行名称TIME作为优先级,并使用员工名称填充其他列。

1st sheet

现在在第二张纸上,我想在每个工作人员的ROW中使用一个公式,该列会自动填写每个名字的TIME。

2nd sheet

请尽可能帮助我。

谢谢。

1 个答案:

答案 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。根据您的要求,有很多方法可以做到这一点。

希望这会有所帮助..