最近2年更新太快了,前陣子微軟才更新了函數3.0,也就是GROUPBY和PIVOTBY等函數?,F(xiàn)在測試版又出函數4.0,本次更新,目前只有兩個函數支持正則,XMATCH和XLOOKUP函數。可惜,盧子也跟你一樣,用不了這些新函數,不過沒關系,老版本也有秒解。=XLOOKUP("^.{3}$",A:A,B:B,,3) 通配符*代表全部字符,而?代表一個字符,現(xiàn)在要查找3個字符,也就是???。 VLOOKUP是查找對應值,而MATCH是獲取排位,都支持使用通配符。=XLOOKUP(REGEXREPLACE(C2,"(.)",".*$1")&".*",$A$2:$A$16,$A$2:$A$16,,3) 思路,用MID函數提取每一個字,然后添加通配符*。
="*"&MID(C2,1,1)&"*"&MID(C2,2,1)&"*"&MID(C2,3,1)&"*" 這種方法雖好,但只局限性簡稱字符少的,如果有7-8個字,用&和MID寫公式會超級繁瑣。因此,改用TEXTJOIN+MID。=TEXTJOIN("*",1,MID(C5,ROW($1:$9),1)) ="*"&TEXTJOIN("*",1,MID(C5,ROW($1:$9),1))&"*" 如果你有WPS最新版本,里面也支持正則,而且用法比微軟更簡單。最后,輔助列的公式可以直接套進VLOOKUP里面。 =VLOOKUP("*"&MID(C2,1,1)&"*"&MID(C2,2,1)&"*"&MID(C2,3,1)&"*",A:A,1,0) =VLOOKUP("*"&TEXTJOIN("*",1,MID(C2,ROW($1:$9),1))&"*",A:A,1,0) =VLOOKUP(REGEXP(C2,"",2,"*"),A:A,1,0)
|