2015-08-23 122 views
1

在细胞D5:嵌套IF式与VLOOKUP

=IF(VLOOKUP(C5,'store1'!$F$4:$F$29,1)=C5,"store1","")&(IF(VLOOKUP(C5,'store2'!$F$4:$F$29,1)=C5,"\store2","")&(IF(VLOOKUP(C5,'store3'!$F$4:$F$29,1)=C5,"\store3","")&(IF(VLOOKUP(C5,'store4'!$F$4:$F$29,1)=C5,"\store4","")&(IF(VLOOKUP(C5,'store5'!$F$4:$F$29,1)=C5,"\store5","")&(IF(VLOOKUP(C5,'store6'!$F$4:$F$29,1)=C5,"\store6","")&(IF(VLOOKUP(C5,'store7'!$F$4:$F$29,1)=C5,"\store7","")&(IF(VLOOKUP(C5,'store8'!$F$4:$F$29,1)=C5,"\store8","")&(IF(VLOOKUP(C5,'store9'!$F$4:$F$29,1)=C5,"\store9","")&(IF(VLOOKUP(C5,'store10'!$F$4:$F$29,1)=C5,"\store10","")))))))))) 

我有十个商店片与工作的雇员的名字和一个“所有商店员工的名字”片材。有时几个员工在两家商店工作,并用store1滑动到store2或store3或其他商店。

我想要的是,如果某个员工在多个商店工作,然后在“所有店员工姓名”表中存储(即工作表名称)号码显示。

示例:“所有店员工姓名”c5到c30是A到Z字母表 和f4到f29 A到Z所有商店的字母表。

该公式工作但不正确,A到M显示#N/A

+0

为什么除* store1 *之外的所有商店都有反斜杠作为前缀?他们应该都拥有它吗?他们都不应该有吗?这是否正确? – Jeeped

+1

@pnuts - 但是,如果员工只在store2和store3中工作,结果将会以反斜杠开始;例如\商店2 \ store3。结果不一致。用空格和[TRIM](https://support.office.com/zh-cn/article/TRIM-function-410388FA-C5DF-49C6-B16C-9E5630B479F9)分隔结果将是更好的做法, 。 – Jeeped

+1

@pnuts - An [IF](https://support.office.com/en-us/article/if-function-a918d97a-251e-4af5-bd15-09b12b8742bb)([ISTEXT](https:// support。 office.com/fi-fi/article/ISTEXT-function-e0dbe551-2464-4b41-b906-98cd970821f4)(...可以照顾错误;我正在考虑结果 – Jeeped

回答

0

如果在任何商店中找不到该员工,那将是该商店的错误。查找简单存在的值的最有效方法是MATCH function(甚至比COUNTIF更有效),但是您需要检查MATCH发现时是返回行号还是发现没有找到匹配的#N/A错误。 ISNUMBER function可以确定。

=MID(IF(ISNUMBER(MATCH(C5, store1!$F$4:$F$29, 0)), "\store1", "") 
    &IF(ISNUMBER(MATCH(C5, store2!$F$4:$F$29, 0)), "\store2", "") 
    &IF(ISNUMBER(MATCH(C5, store3!$F$4:$F$29, 0)), "\store3", "") 
    &IF(ISNUMBER(MATCH(C5, store4!$F$4:$F$29, 0)), "\store4", "") 
    &IF(ISNUMBER(MATCH(C5, store5!$F$4:$F$29, 0)), "\store5", "") 
    &IF(ISNUMBER(MATCH(C5, store6!$F$4:$F$29, 0)), "\store6", "") 
    &IF(ISNUMBER(MATCH(C5, store7!$F$4:$F$29, 0)), "\store7", "") 
    &IF(ISNUMBER(MATCH(C5, store8!$F$4:$F$29, 0)), "\store8", "") 
    &IF(ISNUMBER(MATCH(C5, store9!$F$4:$F$29, 0)), "\store9", "") 
    &IF(ISNUMBER(MATCH(C5, store10!$F$4:$F$29, 0)), "\store10", ""), 2, 99) 

我已将反斜杠添加到所有存储值,并从结果中删除第一个反斜杠,而不管哪个商店提供它。

您可以在公式中保留“空白”(例如换行符和空格),以帮助您在工作表的公式栏中更好地理解它。这个公式可能看起来很复杂,但它实际上比最基本的数组公式要少得多。

+0

完美的Jeeped,这正是我想要的非常感谢你, – param