比较两个单元格并将 HTML 标记添加到匹配值
Comparing two cells and adding HTML tag to matching values
我有两列,一列包含一组中的所有项目,另一列包含我当前拥有的项目。我想比较它们,如果匹配,则匹配结果会添加一些文本。 Here is an example.
所以在那个例子中,A列是设置的数字,B列是设置的值,C列是我当前的,D列是预期的结果。
所以我想比较 B 和 C,如果有匹配的名称,那么我希望 B 将这个 <img src='tick.svg'>
附加到匹配的名称。
通过以下函数获得了一些帮助:
=ARRAYFORMULA(TEXTJOIN("<br />
 ", 1, REGEXREPLACE(TRIM(IFERROR(SPLIT(B2, "<br />
"))),
TEXTJOIN("|", 1, IF(REGEXMATCH(TRIM(IFERROR(SPLIT(B2, "<br />
"))),
TEXTJOIN("|", 1, TRIM(IFERROR(SPLIT(C2, "<br>"))))),
TRIM(IFERROR(SPLIT(B2, "<br />
"))), )), TRIM(IFERROR(SPLIT(B2, "<br />
")))&" <img src='tick.svg'>")))
然而,当我在单元格中有 '<br>'
标签或 '<br />
'
时,它将跳过或替换某些单词(例如 row 2 col E)。另外,我目前必须将它拖到下一个单元格,让它自动应用于每一行会很方便,
注意:它链接到 Web 应用程序中的这个 question,已解决但范围更大。
粘贴到 D2 单元格:
=ARRAYFORMULA(SUBSTITUTE(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(SUBSTITUTE(IF(ISNUMBER(
QUERY(QUERY(IFERROR(SPLIT(IF(IF(REGEXMATCH(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(
TRANSPOSE(IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&
TRIM(IFERROR(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), )))
,,999^99)),,999^99), "♠"))),SUBSTITUTE(TRIM(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(
SPLIT(C2:C, ",")<>"", A2:A&"♦"&TRIM(IFERROR(SPLIT(C2:C, ","))), ))),,999^99)),,999^99))
, " ", "|")), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(SPLIT(
SUBSTITUTE(B2:B, " <br />
", ","), ","))), ))),,999^99)),,999^99),
"♠")))&" - CHECK", )<>"", IF(REGEXMATCH(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), )))
,,999^99)),,999^99), "♠"))),SUBSTITUTE(TRIM(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(
SPLIT(C2:C, ",")<>"", A2:A&"♦"&TRIM(IFERROR(SPLIT(C2:C, ","))), ))),,999^99)),,999^99)),
" ", "|")), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(SPLIT(
SUBSTITUTE(B2:B, " <br />
", ","), ","))), ))),,999^99)),,999^99),
"♠")))&" - CHECK", ), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(SPLIT(
SUBSTITUTE(B2:B, " <br />
", ","), ","))), ))),,999^99)),,999^99),
"♠")))), "♦")), "select count(Col1) where Col1 is not null group by Col1 pivot Col2", 0),
"offset 1", 0)), INDEX(QUERY(IFERROR(SPLIT(IF(IF(REGEXMATCH(TRIM(TRANSPOSE(SPLIT(QUERY(
TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"",
"♠"&A2:A&"♦"&TRIM(IFERROR(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), )))
,,999^99)),,999^99), "♠"))),SUBSTITUTE(TRIM(QUERY(TRANSPOSE(QUERY(
TRANSPOSE(IFERROR(IF(SPLIT(C2:C, ",")<>"", A2:A&"♦"&TRIM(IFERROR(SPLIT(C2:C, ","))), )))
,,999^99)),,999^99)), " ", "|")), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), ))),,999^99)),,999^99), "♠")))&
" <img src='tick.svg'>", )<>"", IF(REGEXMATCH(TRIM(TRANSPOSE(SPLIT(QUERY(
TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"",
"♠"&A2:A&"♦"&TRIM(IFERROR(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), )))
,,999^99)),,999^99), "♠"))),SUBSTITUTE(TRIM(QUERY(TRANSPOSE(QUERY(
TRANSPOSE(IFERROR(IF(SPLIT(C2:C, ",")<>"", A2:A&"♦"&TRIM(IFERROR(SPLIT(C2:C, ","))), )))
,,999^99)),,999^99)), " ", "|")), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), ))),,999^99)),,999^99), "♠")))&
" <img src='tick.svg'>", ), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(
TRANSPOSE(IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&
TRIM(IFERROR(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), )))
,,999^99)),,999^99), "♠")))), "♦")), "select count(Col1) where Col1 is not null group by Col1
pivot Col2", 0), 1, ), ), " ", "♂")),,999^99))), " ", " <br />
 "), "♂", " "))
我有两列,一列包含一组中的所有项目,另一列包含我当前拥有的项目。我想比较它们,如果匹配,则匹配结果会添加一些文本。 Here is an example.
所以在那个例子中,A列是设置的数字,B列是设置的值,C列是我当前的,D列是预期的结果。
所以我想比较 B 和 C,如果有匹配的名称,那么我希望 B 将这个 <img src='tick.svg'>
附加到匹配的名称。
通过以下函数获得了一些帮助:
=ARRAYFORMULA(TEXTJOIN("<br />
 ", 1, REGEXREPLACE(TRIM(IFERROR(SPLIT(B2, "<br />
"))),
TEXTJOIN("|", 1, IF(REGEXMATCH(TRIM(IFERROR(SPLIT(B2, "<br />
"))),
TEXTJOIN("|", 1, TRIM(IFERROR(SPLIT(C2, "<br>"))))),
TRIM(IFERROR(SPLIT(B2, "<br />
"))), )), TRIM(IFERROR(SPLIT(B2, "<br />
")))&" <img src='tick.svg'>")))
然而,当我在单元格中有 '<br>'
标签或 '<br />
'
时,它将跳过或替换某些单词(例如 row 2 col E)。另外,我目前必须将它拖到下一个单元格,让它自动应用于每一行会很方便,
注意:它链接到 Web 应用程序中的这个 question,已解决但范围更大。
粘贴到 D2 单元格:
=ARRAYFORMULA(SUBSTITUTE(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(SUBSTITUTE(IF(ISNUMBER(
QUERY(QUERY(IFERROR(SPLIT(IF(IF(REGEXMATCH(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(
TRANSPOSE(IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&
TRIM(IFERROR(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), )))
,,999^99)),,999^99), "♠"))),SUBSTITUTE(TRIM(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(
SPLIT(C2:C, ",")<>"", A2:A&"♦"&TRIM(IFERROR(SPLIT(C2:C, ","))), ))),,999^99)),,999^99))
, " ", "|")), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(SPLIT(
SUBSTITUTE(B2:B, " <br />
", ","), ","))), ))),,999^99)),,999^99),
"♠")))&" - CHECK", )<>"", IF(REGEXMATCH(TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), )))
,,999^99)),,999^99), "♠"))),SUBSTITUTE(TRIM(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(
SPLIT(C2:C, ",")<>"", A2:A&"♦"&TRIM(IFERROR(SPLIT(C2:C, ","))), ))),,999^99)),,999^99)),
" ", "|")), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(SPLIT(
SUBSTITUTE(B2:B, " <br />
", ","), ","))), ))),,999^99)),,999^99),
"♠")))&" - CHECK", ), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(SPLIT(
SUBSTITUTE(B2:B, " <br />
", ","), ","))), ))),,999^99)),,999^99),
"♠")))), "♦")), "select count(Col1) where Col1 is not null group by Col1 pivot Col2", 0),
"offset 1", 0)), INDEX(QUERY(IFERROR(SPLIT(IF(IF(REGEXMATCH(TRIM(TRANSPOSE(SPLIT(QUERY(
TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"",
"♠"&A2:A&"♦"&TRIM(IFERROR(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), )))
,,999^99)),,999^99), "♠"))),SUBSTITUTE(TRIM(QUERY(TRANSPOSE(QUERY(
TRANSPOSE(IFERROR(IF(SPLIT(C2:C, ",")<>"", A2:A&"♦"&TRIM(IFERROR(SPLIT(C2:C, ","))), )))
,,999^99)),,999^99)), " ", "|")), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), ))),,999^99)),,999^99), "♠")))&
" <img src='tick.svg'>", )<>"", IF(REGEXMATCH(TRIM(TRANSPOSE(SPLIT(QUERY(
TRANSPOSE(QUERY(TRANSPOSE(IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"",
"♠"&A2:A&"♦"&TRIM(IFERROR(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), )))
,,999^99)),,999^99), "♠"))),SUBSTITUTE(TRIM(QUERY(TRANSPOSE(QUERY(
TRANSPOSE(IFERROR(IF(SPLIT(C2:C, ",")<>"", A2:A&"♦"&TRIM(IFERROR(SPLIT(C2:C, ","))), )))
,,999^99)),,999^99)), " ", "|")), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&TRIM(IFERROR(
SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), ))),,999^99)),,999^99), "♠")))&
" <img src='tick.svg'>", ), TRIM(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(
TRANSPOSE(IFERROR(IF(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ",")<>"", "♠"&A2:A&"♦"&
TRIM(IFERROR(SPLIT(SUBSTITUTE(B2:B, " <br />
", ","), ","))), )))
,,999^99)),,999^99), "♠")))), "♦")), "select count(Col1) where Col1 is not null group by Col1
pivot Col2", 0), 1, ), ), " ", "♂")),,999^99))), " ", " <br />
 "), "♂", " "))