函数公式、职场模板 、财务应用、分析图表、练习题、快捷键、软件工具、表格合并、图表及可视化、Office 365、Power Query、表格美化、符号作用、条件格式、学会骗、一本不正经、避坑指南、数据整理、筛选技巧、偷懒宝典、漂亮3D、WPS技巧、PPT技巧、Word技巧 👆上面是分类专题👆 👇下面是最新文章👇 · 正 · 文 · 来 · 啦 · Excel偷懒的技术读者群群友提问,下面的公式为什么是错的: =LEFT(A2,FIND(or("镇","乡"),A2)) 这个公式应该是要提取某个地址中截止“乡”和“镇”前面的部分。 也就是说,要用FIND函数来查找多个关键词。 公式一: Excel偷懒的技术以前写过一篇文章: 介绍了FIND函数用常量数组一次性查找多个: =IF(COUNT(FIND({"A","B","C"},A13,1)),"通过","不通过") 在此基础上,对公式稍做修改: =LEFT(A2,SUM(IFERROR(FIND({"镇","乡"},A2),0))) 解释: 公式使用IFERROR来容错,当查不到"镇","乡"时,取0。 公式二: 为了避免用FIND查找时,没有要找的字符时出错,我们还可以在地址后加上”乡镇“。然后再用MIN来取较小的值。 公式: =LEFT(A2,MIN(FIND({"镇","乡"},A2&"镇乡"))) 公式三: 还可以使用LOOKUP函数 =LEFT(A2 , -LOOKUP( , - FIND({"乡","镇"},A2) )) 此公式的解释请参见: 关于LOOKUP函数的相关文章: 扩展: 实际工作中,地址并不都是“XX乡”、“XX镇”,比如,市区地址用的是“XX街道”,因而提取的关键字应该再加上“街道”。 将公式再完善一下 : =LEFT(A10,MIN(FIND({"镇","乡","街道"},A10&"镇乡街道")))&IF(ISERR(FIND("街道",A10)) , , "道") 解释: 在原公式后加了一段: &IF(ISERR(FIND("街道",A10)) , , "道") 是为了给提取后的地址补上“道”字 |
|