返回string中特殊字符的位置

? 是excel中的一个特殊字符,就我所知,不能用=FIND("?",<stringref>)

=FIND(CHAR(63),<stringref> )返回我想要的。 在我的情况下,这是11,因为? 字符首先出现,沿着我的string有11个字符。

现在,我想CHAR(63)从公式中的另一个单元格引用,而不是硬编码。

所以我们假设单元格A1有我的公式,A1有我的search项目?CHAR(63)

我如何参考?CHAR(63)从单元格A1中的公式返回string(在C1)中的字符数?

这是我的尝试:

=CODE("?")产生“63”,所以理论上我可以使用它。

 A1 = FIND(B1,C1) = Value Error B1 = CONCATENATE("CHAR(",CODE("?"),")") = CHAR(63) C1 = somestring?someparam 

我想要: A1 = 11

这个问题似乎是在另一个单元格中引用stringCHAR(63),因为如果将B1的公式embedded到A1中,它将起作用。

你不需要在单元格B1中做所有的爵士乐。 刚刚放? 在B1(没有引号和不等号)然后使用公式,

  =FIND(B1,C1) 

在单元格A1中。

请注意,如果您试图从概念上弄清楚如何将“CHAR(63)”放入单元格B1中,然后在将其用作“查找”函数的input时评估此函数,那么您将不得不使用一些VBA ,比如这里 。

此外,您可以将“= code(”?“)”放入单元格B1中,然后使用:

 =FIND(CHAR(B1),C1) 

在单元格A1中。