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