1

我创建了一个表格来粘贴文本并输出小写、大写和正确的文本我有一个命名的介词和冠词大写的范围。

我正在尝试使用 SUBSTITUTE 公式替换介词列表中出现的所有事件或单词

所以而不是

Our Breakfast Is Consistent

我们得到

 Our Breakfast is Consistent

到目前为止我有这个公式,但它不起作用

=SUBSTITUTE(D6, TRIM(prepositions), TRIM(LOWER(prepositions))

任何人都可以帮忙。将不胜感激

谢谢

和我

4

3 回答 3

0

您不能使用SUBSTITUTE一键替换列表 - 您一次需要SUBSTITUTE一个项目,因此如果您在 F2:F5 中有介词,例如,您可以使用如下公式

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D6,F2,LOWER(F2)),F3,LOWER(F3)),F4,LOWER(F4)),F5,LOWER(F5))

当然,如果您有一个不太实用的长列表,在这种情况下,您可以复制(或跨越)一个可能一次替换一个值的公式,例如在上面的示例中使用 D7 中的这个公式D10

=SUBSTITUTE(D6,F2,LOWER(F2))

D10 将是所有替换的最终值

于 2013-05-09T13:46:45.737 回答
0

我会创建一个用户定义的函数

   Function prep_lower(the_text)

    Dim prep_list(10, 10)

    prep_list(1, 1) = "As"
    prep_list(1, 2) = "as"

    prep_list(2, 1) = "Or"
    prep_list(2, 2) = "or"

    prep_list(3, 1) = "Is"
    prep_list(3, 2) = "is"
    'more items......


    For n = 1 To UBound(prep_list, 1)
    the_text = Application.WorksheetFunction.Substitute(the_text, Chr(32) & prep_list(n, 1) & Chr(32), Chr(32) & prep_list(n, 2) & Chr(32))
    Next 'For n = 0 To...

    prep_lower = the_text



    End Function

然后在单元格 a1 中输入文本,=prep_lower(A1)在 b1 中输入公式

于 2013-05-09T20:55:39.813 回答
0

我认为在 PHP 中比在 excel 中更容易做到这一点。设置一个带有选项的表单并使用一些正则表达式来输出我需要的那种文本。

一旦我创建了 HTML,我将在此处发布示例。我还将它作为上传 CSV 的一个选项,从中读取,然后它会以您可以看到的方式输出。通过修改导出回 CSV。

这对于任何面临同样问题的人来说可能很有用。

感谢为我遇到的这个问题发布解决方案的好心用户。

谢谢

和我

于 2013-05-14T05:55:53.220 回答