【发布时间】:2021-02-05 01:04:38
【问题描述】:
我想:
- 搜索单元格是否包含特定文本(如“橙迷”中的“橙”)
- 如果返回 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”。如果它包含在单元格中的任何位置,我希望将整个单元格更改为橙色。