动态替换文本字符串中的文本

动态替换文本字符串中的文本

所以我再问一次,因为我已经非常接近我想要的结果了。

我已经得到了一些帮助,对此我非常感激,但如果能再多一点帮助我将更加感激!

我正在尝试将数据粘贴到一个单元格中,该单元格会自动填充到另一个单元格中的文本字符串中。如您在图片中看到的,我能够替换第一个字段中的数据,但是我似乎无法弄清楚如何替换突出显示的第二个字段中的数据。

在此处输入图片描述

我目前使用的公式是:

=SUBSTITUTE(A17,MID(A17,FIND("[",A17)+1,FIND("]",A17)-FIND("[",A17)-1),TEXT(C2,"mm/dd/yyyy"))

本质上,我希望能够将数据粘贴到 C 列字段中,并让它们填充 A 列文本字符串。

在此处输入图片描述

很感谢任何形式的帮助!

最终目标是有 9 行注释,可以从 C 列的单元格复制,并在各个文本字符串中填充数据。提供的图像显示了我希望能够快速粘贴信息的位置,这些信息填充在 A 列的相应位置,我将参考资料粘贴在 A 列的下方:

在此处输入图片描述

使用:

=SUBSTITUTE(SUBSTITUTE(A21,MID(A21,FIND(“",A21)+1,FIND(“]",A21)-FIND(“",A21)-1),TEXT(C8,"州")),"104 日期",C4,1)

我从:

已下令 [州] 任命生效 [104 日期],已更新 103/104。

我最终得到:

已订购 [PA] 预约,生效日期为 [43167],更新于 103/104。

我知道日期格式不对,但我无法让“mm/dd/yyyy”在此公式中正常工作,而在此公式中:

=SUBSTITUTE(SUBSTITUTE(A17,MID(A17,FIND(“",A17)+1,FIND(“]",A17)-FIND(“",A17)-1),TEXT(C2,"mm/dd/yyyy")),"机构",C6,1)

它工作得很好:

之前:代理人与 [代理机构] 有效 [102 日期]。

之后:代理人自 [2018 年 3 月 15 日起与 [CITIZENS SECURITIES INC] 合作。

希望这有助于澄清任何问题。我正在寻找公式。宏会很好,但我不知道 VBA。

答案1

我只想将其嵌套SUBSTITUTE在中SUBSTITUTE

例如

=SUBSTITUTE(SUBSTITUTE(A17,MID(A17,FIND("[",A17)+1,FIND("]",A17)-FIND("[",A17)-1),TEXT(C2,"mm/dd/yyyy")),"[agency]","SOMETHING",1)

答案2

@Shinjijai 的答案是可行的,但我想我会提供一种不同的观察方式。我不知道你的最终状态是什么样的,但你也可以用一个表格和一个稍微小一点的公式来做到这一点。

生效日期表

上表中单元格 E2 中有以下公式:

=[Agent] & " effective 102 Date "&TEXT([102 Date],"mm/dd/yy")&", effective 104 Date "&TEXT([104 Date],"mm/dd/yy")&" with "&[Agency]

将其放入表格中可让您使用结构化引用(例如“代理”而不是 A2)​​。该公式只是预定文本和单元格引用的组合。

我不知道您是否需要在同一个公式中同时使用 102 和 104 日期,但您可以轻松地将此公式一分为二,并将最终状态 102 信息放在 Col E 中,将最终状态 104 放在 Col F 中。

使用表格,您还可以在“代理机构”列中使用数据验证,这样您就可以使用下拉组合框,而不必输入代理机构名称。

只是想分享一个不同的选择。希望你能找到一个好的答案!

答案3

鉴于上述答案,我肯定误解了这个问题,但看起来您想要一个文本字符串,其中包含输入的不同数据的提示。然后,当实际数据输入到数据块中时,您希望它替换那些提示。

实现此目的的简单方法是使用一个公式,该公式使用文本作为其基础,并IF()在提示/数据所在的位置使用两个函数。这两个IF()函数会查看输入区域是否有每个条目,如果有,则将条目放入字符串中,如果没有,则放入提示中。

非常简单的公式。看起来像:

="Agent effective ["&IF($C$2<>"",$C$2,IF($C$4<>"",$C$4,"102 date"))&"] with ["&IF($C$6<>"",$C$6,"agency"&"]"

全部自动。输入所需数据后,系统会为您更改。或者清除后,系统会恢复提示。

相关内容