Function 结果(rng_1 As Range, rng_2 As Range) As String
Dim rg As Range
For Each rg In rng_1
If InStr("," & rg & ",", Mid(rng_2, 3)) Then
结果 = 结果 & "," & rg
End If
Next
结果 = Mid(结果, 2)
End Function
按ALT+F11,插入,模块,把以上代码粘贴进去,关闭退出,然后在工作表中输入中的函数。
A1输入 张三
B1 输入
=INDEX(Sheet2!B:B,MATCH(A1,Sheet2!A:A,0))
========================
我试过 正确才放上来的
首先呢,该公式可写作
=INDEX(登记表!A:A,SMALL(IF(登记表!$F$2:$F$9999="辞职",ROW($2:$9999),4^8),ROW(2:2)))
ROW($2:$9999)----返回2到9999这个范围的自然数列
4^8------65536(Excel2003有65536行)
登记表!$F$2:$F$9999="辞职"---------条件表达式,比较登记表的$F$2:$F$9999这个区域中哪些单元格内容是"辞职"。内容相符的会返回true,不相符的返回false。于是得到9998条真假值
IF(登记表!$F$2:$F$9999="辞职",ROW($2:$9999),4^8)-----根据真假值,若真,则返回对应自然数列;若假,则返回65536-------一共9998条数据
ROW(2:2)---返回数字2,下拖返回3456……
SMALL(IF(登记表!$F$2:$F$9999="辞职",ROW($2:$9999),4^8),ROW(2:2))----返回凡是“辞职”的数据所在行号中第2小的行号。
=INDEX(登记表!A:A,SMALL(IF(登记表!$F$2:$F$9999="辞职",ROW($2:$9999),4^8),ROW(2:2)))---返回A列对应上述行号的数据
数组公式,Ctrl+Shift+回车结束
最后:公式中row(2:2)疑为ROW(1:1)
可用SUMPRODUCT
=SUMPRODUCT(((Sheet1!A:A="张三")+(Sheet1!D:D="张三")+(Sheet1!E:E="张三"))Sheet1!C:C)
你的这张表的名字,必须是Sheet1;张三的名字不能重复
以上就是关于EXCEl函数INDEX全部的内容,包括:EXCEl函数INDEX、求excel函数index的实例公式。、EXCEL中INDEX问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)