Google 表格脚本通配符
Google Sheets Script Wildcards
我知道我可以在像 ;
这样的公式中使用通配符
=COUNTIF(A:A ; "*text*")
如果 A1 包含 "text",我想 运行 我的代码。
A1 = "test text"
谁能帮帮我?
=IF(COUNTIF(A1, "*text*"), "your code here", "Code not run: A1 doesn't contain 'text'")
这就是您想要的 - 公式代码?或者您想使用 Google Apps Script?
(可能有一个比 COUNTIF() 更直观的命名函数,但它确实有效。)
对于 Google Apps 脚本,您可以使用正则表达式。如果您在应用程序脚本中对其进行硬编码,则任何由正斜杠包围的语句都会被解释为正则表达式:
/.*text.*/
请注意,通配符在正则表达式中的使用略有不同:您需要在星号 *
之前包含一个点 .
:
COUNTIF()
:*text*
正则表达式:/.*text.*/
所以快速脚本如下所示:
function matchText(text){
try {
var pattern = /.*text.*/;
var isMatch = text.match(pattern)[0];
return isMatch
} catch (e) {
return e.toString();
}
};
通用自定义函数:
function matchText(text,pattern){
try {
var isMatch = text.match(pattern)[0];
return isMatch
} catch (e) {
return e.toString();
}
};
您仍然可以使用 regexextract 或 regexmatch 对本机公式执行此操作,这一直是我的最爱。请记住使用正确的正则表达式通配符表示法:星号前的点:.*
。或者单独使用 text
,它会自动找到它的任何实例:
我的解决方案:
if(test.indexOf("2,")>-1)
{
my code goes here
}
我知道我可以在像 ;
这样的公式中使用通配符=COUNTIF(A:A ; "*text*")
如果 A1 包含 "text",我想 运行 我的代码。
A1 = "test text"
谁能帮帮我?
=IF(COUNTIF(A1, "*text*"), "your code here", "Code not run: A1 doesn't contain 'text'")
这就是您想要的 - 公式代码?或者您想使用 Google Apps Script?
(可能有一个比 COUNTIF() 更直观的命名函数,但它确实有效。)
对于 Google Apps 脚本,您可以使用正则表达式。如果您在应用程序脚本中对其进行硬编码,则任何由正斜杠包围的语句都会被解释为正则表达式:
/.*text.*/
请注意,通配符在正则表达式中的使用略有不同:您需要在星号 *
之前包含一个点 .
:
COUNTIF()
:*text*
正则表达式:/.*text.*/
所以快速脚本如下所示:
function matchText(text){
try {
var pattern = /.*text.*/;
var isMatch = text.match(pattern)[0];
return isMatch
} catch (e) {
return e.toString();
}
};
通用自定义函数:
function matchText(text,pattern){
try {
var isMatch = text.match(pattern)[0];
return isMatch
} catch (e) {
return e.toString();
}
};
您仍然可以使用 regexextract 或 regexmatch 对本机公式执行此操作,这一直是我的最爱。请记住使用正确的正则表达式通配符表示法:星号前的点:.*
。或者单独使用 text
,它会自动找到它的任何实例:
我的解决方案:
if(test.indexOf("2,")>-1)
{
my code goes here
}