带 VLOOKUP 的嵌套 IF 公式

Nested IF formula with VLOOKUP

在单元格 D5 中:

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

我有 10 家商店 sheet 有员工姓名,还有一家 "all store employees name" sheet。有时几个员工在两家店工作,用store1刷到store2或store3或其他。

我想要的是,如果某个员工在不止一家商店工作,那么商店(即 sheet 名称)号码显示在 'all store employees name' sheet.

示例:"all store employees name" c5 到 c30 是 A 到 Z 字母表 所有商店中的 f4 到 f29 A 到 Z 字母表。

公式有效但不正确,A 到 M 显示 #N/A

如果在任何商店都找不到该员工,则该商店将出现错误。寻找简单存在的值的最有效方法是 MATCH function (even more efficient than COUNTIF) but you need to check if MATCH is returning a row number when found or an #N/A error where no match was found. The ISNUMBER function 可以确定。

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

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

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