【问题标题】:Excel formula to replace value based on corresponding tableExcel公式根据相应表格替换值
【发布时间】:2019-09-25 19:57:47
【问题描述】:

我正在尝试在 Excel 中找到解决问题的方法。

我有一个“输入值”表,每行都有不同的值,包含不同颜色的文本/内容。

我还有一个“对应值”表:对于特定颜色,我在 D 列中有一个对应值。

我正在尝试在 Excel 中找到一个可以在“输出值”表中为我提供结果的解决方案。理想情况下,每行的 excel 公式会给我在输出值表中找到的结果。

即“green”会被“color 1”替换,所以最终的结果是“color 1 and dark”。

我尝试了几种使用替代和索引公式的方法,但没有成功;它仅适用于输入值表的前 1-2 行。

理想情况下,如果公式在没有 VBA 代码的情况下也能工作,那就太好了。

非常感谢!

【问题讨论】:

  • 你能展示一些你解决这个问题的尝试吗?
  • 是的,这是我在单元格 B8 中尝试的公式: =SUBSTITUTE(SUBSTITUTE(A2,INDEX(C2:C4,1),INDEX(D2:D4,1)),INDEX(C2 :C4,2),INDEX(D2:D4,2))
  • @DougLasore 那有什么问题?似乎有效?
  • @Tom 我认为问题出在第三个输入上:blunt yellowish darkblue red 被替换为 blunt color 2ish darkblue red
  • @JustynaMK 我尝试了@DougLasore 公式,它返回第三个值为blunt yellowish darkblue color 3

标签: excel vba excel-formula excel-2010


【解决方案1】:

对于一种颜色替换,您可以尝试以下公式。

设置:

A2 保存输入值。

范围E2:F4 包含替换矩阵

公式:

=SUBSTITUTE(A2,LOOKUP(2^15,SEARCH(" "&$E$2:$E$4&" "," "&A2&" ",1),$E$2:$E$4),LOOKUP(2^15,SEARCH(" "&$E$2:$E$4&" "," "&A2&" ",1),$F$2:$F$4))

【讨论】:

  • +1 非常好的方法。我喜欢它不会像原始公式中那样将yellowish 转换为color 2ish
  • @shrivallabha.redij 只是想知道您是否尝试过:如果我尝试在另一张表(表 2)中添加替换矩阵,则该公式不起作用。那么......是否需要将替换矩阵与公式放在同一张表中?只是想知道,谢谢
  • 一个非常好的答案,尤其是它不需要 CSE!你介意在这种情况下简要解释一下 LOOKUP 的使用,或者指出一个方向来理解你是如何使用它的吗?非常感谢!
  • 我想我刚刚解决了!如果我正确理解您对 LOOKUP 的使用,将 2^15 替换为 LEN(A2) 应该是安全的。 :)
  • @DougLasore 它应该仍然有效。如果你在第二张纸上有它,我看不出任何问题。例如=SUBSTITUTE(A2,LOOKUP(2^15,SEARCH(" "&Sheet2!$A$2:$A$4&" "," "&A2&" ",1),Sheet2!$A$2:$A$4),LOOKUP(2^15,SEARCH(" "&Sheet2!$A$2:$A$4&" "," "&A2&" ",1),Sheet2!$B$2:$B$4)) 同理。
【解决方案2】:

下面的数组公式也会返回想要的结果。

{=SUBSTITUTE(" "&A2:A4&" "," "&C2:C4&" "," "&D2:D4&" ")}

高亮B2:B4,在公式栏中输入此公式并按Ctrl+Shift+Enter确认。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 2015-10-07
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    相关资源
    最近更新 更多