【发布时间】:2021-07-27 14:20:17
【问题描述】:
我正在尝试制作一个 Google 表格公式,它根据多个条件(逗号分隔)单元格匹配单元格中的单词并返回特定值。
Sheet1 包含短语和公式:
| Phrases | Formula |
|---|---|
| fruit bat | {formula} |
| fruit bats | {formula} |
| fruitbat | {formula} |
| big fruit bat | {formula} |
| fruit bat eating orange | {formula} |
| orange fruit | {formula} |
| apple is a good fruit | {formula} |
| i like pie | {formula} |
| pies for lunch | {formula} |
| apple pie is better | {formula} |
| juice from apples | {formula} |
Sheet2 搜索值(逗号分隔)和对应的返回值:
| Comma-separated search values | Return Value |
|---|---|
| fruit, bat | Animal - Bats |
| fruit, orange, bat | Animal - Orange bat |
| orange, fruit | Food - Orange |
| apple, fruit | Food - Apple |
| pie | Food - Pie |
| apple, pie | Food - Apple Pie |
| juice, apple | Beverage - Apple |
我希望 Sheet1 最终看起来像这样:
| Phrases | Formula |
|---|---|
| fruit bat | Animal - Bats |
| fruit bats | Animal - Bats |
| fruitbat | Animal - Bats |
| big fruit bat | Animal - Bats |
| fruit bat eating orange | Animal - Orange bat |
| orange fruit | Food - Orange |
| apple is a good fruit | Food - Apple |
| i like pie | Food - Pie |
| pies for lunch | Food - Pie |
| apple pie is better | Food - Apple Pie |
| juice from apples | Beverage - Apple |
现在我的公式如下所示:
=IFNA(VLOOKUP(IFNA(REGEXEXTRACT(LOWER(A2); LOWER(TEXTJOIN("|"; 1; SORT(Sheet2!A:A; 1; 0))))); Sheet2!A:B; 2; 0))
公式正确返回短语“我喜欢馅饼”和“午餐馅饼”的“食物 - 馅饼”。它在短语“apple pie is better”上错误地返回“Food - Pie”,并且所有其他行都是空的。
是否可以修改当前公式,使其与搜索逗号分隔值兼容?
注意匹配应该是通配符,不依赖空格。
【问题讨论】:
标签: google-apps-script google-sheets google-sheets-formula