将excel中的介词和文章replace为使用命名范围的单词

我已经创build了一个工作表来粘贴文本和输出较低,UPPER和适当的文本我有介词和文章capitalized的命名范围。

我正在尝试使用SUBSTITUTE公式replace出现在介词列表中的所有出现或词语

所以而不是

Our Breakfast Is Consistent 

我们得到

  Our Breakfast is Consistent 

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

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

任何人都可以帮忙 将非常感激

谢谢

和我

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

  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中input文本,并在b1中input公式=prep_lower(A1)

您不能使用SUBSTITUTE来replace一个列表中的列表 – 您一次需要replace一个项目,所以如果在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将是所有替代品的最终价值

我认为在PHP中而不是在Excel中执行此操作更容易。 使用选项设置表单并使用一些正则expression式来输出我需要的文本types。

我会一旦创build了HTML,PHP将在这里发布示例。 我也会把它作为一个选项来上传一个CSV文件,然后以一种你能看到的方式输出。 随着赔偿出口回到CSV。

对于面临同样问题的人来说,这可能是有用的。

感谢那些为我解决这个问题的解决scheme。

谢谢

和我