【问题标题】:EXCEL: Find and Replace, Change Entire Cell ValueEXCEL:查找和替换,更改整个单元格值
【发布时间】:2021-02-05 01:04:38
【问题描述】:

我想:

  1. 搜索单元格是否包含特定文本(如“橙迷”中的“橙”)
  2. 如果返回 true,则将整个单元格值更改为“橙色”

到目前为止,我可以搜索单元格,并将特定文本更改为我想要的内容,但不能将整个单元格(例如“橙色”更改为“蓝色”并将其设置为“蓝色迷恋”,这不是t 我想做的事。我希望它只是“蓝色”)。我一直在使用“查找和替换”功能进行此操作。

我也用过函数

=if(isnumber(search("orange",B2)), substitute(B2, B2, "orange"), B2)

这行得通!但在我编写代码的新列中打印,并且不会替换它所引用的 B2 中的值。

可能在 VBA 中完成?

我有什么:

Oranges
Orange slices
Orange
Orange pulp

我想要什么:

Orange
Orange
Orange
Orange

【问题讨论】:

  • 看起来与我刚刚回答的问题 (stackoverflow.com/a/46608972/4388883) 非常相似。只需为您的任务添加一个IF 函数。
  • 所以如果 B2 包含“ORANGE”,您希望 B2 中的值为“ORANGE”
  • 在 Excel 中(无论如何都使用严格的公式),一个单元格不能既是输入又是输出。如果您想限制输入单元格中允许的值,那么为什么不强制用户从下拉列表中进行选择呢?这似乎比让用户输入他们想要的任何内容,然后手动将其更改为所需的格式更好。
  • @ian0411,这是一个非常好的功能。不幸的是,就像 ImaginaryHuman072889 指出的那样,我希望更改输入单元格,并且没有相邻列中的输出。查找和替换不会替换整个单元格。对此有何建议?
  • @User91504 如果它在单元格中的任何位置包含“橙色”。有些单元格有更多的词,如“Orange crush”。如果它包含在单元格中的任何位置,我希望将整个单元格更改为橙色。

标签: excel vba


【解决方案1】:

你可以用公式做的最好的事情是:

=IF(ISNUMBER(SEARCH("Orange", A1)), "Orange", A1)

如果您想要不区分大小写的搜索,请使用:

=IF(ISNUMBER(SEARCH(LOWER("Orange"), LOWER(A1))), "Orange", A1)

然后,如果您想覆盖原始列,请确保将值粘贴到原始列上:

CTRL + ALT + V

【讨论】:

  • 谢谢@GrantMiller。这完美地工作。有时只是需要一些常识,嗯?
【解决方案2】:

实现这一点要容易得多:

Excel -> 打开查找和替换

查找内容: *orange*

*-是通配符,用于忽略“橙色”之前和之后的所有内容。查找并标记整个单元格。示例:查找单元格“小橙色摇晃”)

替换为: orange

【讨论】:

  • 轻松解决
猜你喜欢
  • 2019-03-27
  • 2012-11-05
  • 1970-01-01
  • 2023-01-31
  • 2016-10-27
  • 2019-02-15
  • 2016-08-24
  • 2021-04-22
  • 2021-02-11
相关资源
最近更新 更多