在EXCEL中能否把下面的嵌套简化,或者再增加嵌套

来源:百度知道 编辑:UC知道 时间:2024/05/31 01:54:31
“=IF(ISNUMBER(FIND($A2,B$100)),B$100,"")&IF(ISNUMBER(FIND($A2,B$101)),B$101,"")&IF(ISNUMBER(FIND($A2,B$102)),B$102,"")&IF(ISNUMBER(FIND($A2,B$103)),B$103,"")&IF(ISNUMBER(FIND($A2,B$104)),B$104,"")&IF(ISNUMBER(FIND($A2,B$105)),B$105,"")&IF(ISNUMBER(FIND($A2,B$106)),B$106,"")&IF(ISNUMBER(FIND($A2,B$107)),B$107,"")&IF(ISNUMBER(FIND($A2,B$108)),B$108,"")&IF(ISNUMBER(FIND($A2,B$109)),B$109,"")&IF(ISNUMBER(FIND($A2,B$110)),B$110,"")&IF(ISNUMBER(FIND($A2,B$111)),B$111,"")&IF(ISNUMBER(FIND($A2,B$112)),B$112,"")&IF(ISNUMBER(FIND($A2,B$113)),B$113,"")&IF(ISNUMBER(FIND($A2,B$114)),B$114,"")&IF(ISNUMBER(FIND($A2,B$115)),B$115,"")&IF(ISNUMBER(FIND($A2,B$116)),B$116,"")&IF(ISNUMBER(FIND($A2,B$117)),B$117,"")&IF(ISNUMBER(FIND($A2,B$118)),B$118,"")&IF(ISNUMBER(FIND($A2,B$119)),B$119,"")&IF(ISNUMBER(FIND($

给你个vba解法。
按住ALT依次按F11,I,M,粘贴下面的代码

Function HB(range1 As Range, tj, Optional range2)
If IsMissing(range2) Then Set range2 = range1
For i = 1 To range1.Cells.Count
If InStr(range1.Cells(i).Value, tj) Then t = t & " " & range2.Cells(i).Value'这里用空格作为分隔符,可以根据自己需要修改。
Next i
HB = Mid(t, 2)
End Function

粘贴代码后回到工作表中
在需要的单元格中输入
=hb(b$100:b$125,$a2)

PS:函数还可以这样用
=hb(a1:b10,d1,e1:f10)
查看A1:B10中是否包含D1,如果包含则返回对应E1:F10中的内容。

你的意思就是:如果在B100:b125中包含A2就把B100:B125对应的值连接起来。

由于excel的精度的限制(15位)还有Evaluate宏表函数的限制,处理过多数据将十分困难,不必追求一个公式完成,实际中使用辅助列将变得十分简单