![在 Excel 中,如果任何文本与单元格范围内的值匹配,如何替换单元格中的所有文本实例)](https://linux22.com/image/1423581/%E5%9C%A8%20Excel%20%E4%B8%AD%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%BB%BB%E4%BD%95%E6%96%87%E6%9C%AC%E4%B8%8E%E5%8D%95%E5%85%83%E6%A0%BC%E8%8C%83%E5%9B%B4%E5%86%85%E7%9A%84%E5%80%BC%E5%8C%B9%E9%85%8D%EF%BC%8C%E5%A6%82%E4%BD%95%E6%9B%BF%E6%8D%A2%E5%8D%95%E5%85%83%E6%A0%BC%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%96%87%E6%9C%AC%E5%AE%9E%E4%BE%8B%EF%BC%89.png)
为了方便此工作簿的用户,我设置了 J 列的数据验证(从 Sheet2 中提取值),以便选择多种事件类型(学术日历、艺术展览等)。
我必须使用一些代码才能实现这一点,但我找到了一个 YouTube 视频来指导我,所以我缺乏 Excel 编码经验并没有阻碍我。
为了将此工作表导入另一个程序,我不能将“学术日历”作为事件类型,我需要其对应代码“et-acacal”。对应代码位于包含我的事件类型的工作表的下一列中。
本质上我需要用“et-acacal”替换“学术日历”的每个实例,用“et-artgal”替换“艺术展览”,以及用“et-acacal,et-artgal”替换各种事件类型的组合,例如“学术日历,艺术展览”
我已经想出了一个非常糟糕的方法来实现这一点,即使用多个 SUBSTITUTE 函数(见下文),但设置起来很繁琐,我不得不相信有一种更简单的方法可以做到这一点。我只有 30 种不同的事件类型,如果我有 100 或 200 种会发生什么?
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(J2,Sheet2!$A$30,Sheet2!$B$30),Sheet2!$A$29,Sheet2!$B$29),Sheet2!$A$28,Sheet2!$B$28),Sheet2!$A$27,Sheet2!$B$27),Sheet2!$A$26,Sheet2!$B$26),Sheet2!$A$25,Sheet2!$B$25),Sheet2!$A$24,Sheet2!$B$24),Sheet2!$A$23,Sheet2!$B$23),Sheet2!$A$22,Sheet2!$B$22),Sheet2!$A$21,Sheet2!$B$21),Sheet2!$A$20,Sheet2!$B$20),Sheet2!$A$19,Sheet2!$B$19),Sheet2!$A$18,Sheet2!$B$18),Sheet2!$A$17,Sheet2!$B$17),Sheet2!$A$16,Sheet2!$B$16),Sheet2!$A$15,Sheet2!$B$15),Sheet2!$A$14,Sheet2!$B$14),Sheet2!$A$13,Sheet2!$B$13),Sheet2!$A$12,Sheet2!$B$12),Sheet2!$A$11,Sheet2!$B$11),Sheet2!$A$10,Sheet2!$B$10),Sheet2!$A$9,Sheet2!$B$9),Sheet2!$A$8,Sheet2!$B$8),Sheet2!$A$7,Sheet2!$B$7),Sheet2!$A$6,Sheet2!$B$6),Sheet2!$A$5,Sheet2!$B$5),Sheet2!$A$4,Sheet2!$B$4),Sheet2!$A$3,Sheet2!$B$3),Sheet2!$A$2,Sheet2!$B$2)
答案1
管理此问题的最佳方法是使用VLOOKUP
函数。这将在单元格 J2 中查找事件名称的相关事件代码。
=VLOOKUP(J2,Sheet2!$A$1:$B$999,2,0)
但是,在同一个单元格中设置多个条件会更加复杂。要在同一单元格中实现多个条件的 VLOOKUP,您需要用另一个过于复杂的嵌套函数替换一个过于复杂的嵌套SUBSTITUTE
函数 - 鉴于这就是您询问的原因,我不会深入讨论它的工作原理(大量笨拙的IF
s、MID
s 和SEARCH
es)。
最好的办法是尝试重新组织电子表格,这样您就不会试图将所有条件都放入一个单元格中。Excel 并不是专门为此设计的 - 单元格是基本单位(因此得名)。尝试使用多列,然后VLOOKUP
对每一列执行 s。