Excel:如何在 excel 中转义逗号以在另一个函数(具有多个参数)内传递一个函数(具有多个参数)
Posted
技术标签:
【中文标题】Excel:如何在 excel 中转义逗号以在另一个函数(具有多个参数)内传递一个函数(具有多个参数)【英文标题】:Excel: How to escape comma in excel to pass a function (with multiple parameters) inside another function (with multiple parameters) 【发布时间】:2021-05-05 16:40:19 【问题描述】:我有两个功能
-
PercentChange(SeriesName, "PeriodShift", "Direction")
GetValue(Tag1, Tag2 (可选),...)
我正在尝试将函数 1 PercentChange 作为参数 tag1 传递给函数 2 GetValue。这两个函数都接受多个参数。现在对于 GetValue,参数 tag1 的类型是字符串。我的挑战是将整个函数 PercentChange 用作字符串。但不知何故,SeriesName 后面的逗号使 GetValue 认为它是第二个参数并返回错误。
注意:PeriodShift 和 Direction 参数需要用 "" 双引号括起来。这只是系统中设置功能的方式。
我尝试了以下选项,但没有成功。
=GETVALUE("PERCENTCHANGE("&D5&",**""PeriodShift""**,**""Direction""**)")
D5 有 SeriesName
=GETVALUE("PERCENTCHANGE("&$D5&")"&CHAR(34)&CHAR(44)&CHAR(34)&"**Perdioshift**"&CHAR(34)&CHAR(44)&CHAR(34)&"**Direction**"&CHAR(34)&")")
D5 有 SeriesName
=TEXT(F5,"0")
F5 具有创建的完整函数 PercentChange。我试图将其转换为另一个单元格中的文本并将该单元格引用传递给 GetValue。但 GetValue 仍将 PercentChange 函数中的任何逗号视为自己的逗号。
非常感谢任何帮助。
更新:可能是一张图片会有所帮助。我希望 GetValue 将突出显示的黄色部分视为文本(请参见图片)。
或者在下面,粗体和斜体部分被视为文本。
=GetValue(" PercentChange(SeriesName, "PeriodShift", "Direction") ")
【问题讨论】:
如果这些是您使用 VBA 自己创建的函数,请发布他们的代码。 感谢您回复诺丽。这两个函数都是在 C# 中创建的,并由技术团队在 Excel 中提供。在内部,他们调用不同的 api 来获取数据。 你到底想做什么?从当前代码中我可以看出,您正在将字符串"PERCENTCHANGE("&D5&",**""PeriodShift""**,**""Direction""**)"
传递给函数GETVALUE
。你想让GETVALUE
用那个字符串做什么?
抱歉之前没有说清楚。我已经用图片和更多解释更新了帖子。
【参考方案1】:
仍然不能 100% 确定您要做什么,但如果您想将字符串传递给 GETVALUE
函数,您可以尝试加倍引号。
=GetValue(" PercentChange(SeriesName, ""PeriodShift"", ""Direction"")")
【讨论】:
双引号有效。 SeriesName 之后的逗号会出现问题。该逗号用于 PercentChange 函数。不幸的是,Getvalue 将逗号视为自己的,因此它将“PercentChange(SeriesName”视为其第一个参数,并尝试将“PeriodShift”视为第二个参数,将“Direction”视为其第三个参数。我想要 PercentChange( SeriesName, ""PeriodShift"", ""Direction"") 被 GetValue 函数视为 ONE 参数。希望对您有所帮助。 你确定这就是实际发生的事情吗?传递给GETVALUE
的唯一参数是"PercentChange(SeriesName, ""PeriodShift"", ""Direction"")"
。
感谢 Norie 一直以来的支持。在您的上述评论之后,我回溯了负责这些 C# 函数的团队,事实上,无论我如何通过逗号,他们都以不同的方式对待逗号。这使得这个问题变得无关紧要。我会将您的上述评论标记为答案。欣赏它。以上是关于Excel:如何在 excel 中转义逗号以在另一个函数(具有多个参数)内传递一个函数(具有多个参数)的主要内容,如果未能解决你的问题,请参考以下文章