[英]Google Sheets Find Partial matches between two columns in multiple words strings in multiple orders
我不是公式專家,我正在嘗試在谷歌表格上實現特定的目標,我已經在這里嘗試過公式,但它們似乎並沒有給我需要的結果......
我主要分析產品數據,我通常從兩個不同的來源提取產品列表。 然后我手動比較它們以找到匹配項。 您可以想象,這非常乏味。
舉個例子,我目前正在比較兩個美發產品的價格表,它們都包含數百種產品。 我必須在兩個列表中找到匹配的產品,然后比較詳細信息等。
我通常只是從兩張表中提取“名稱”列,然后將它們放入新電子表格的 A 列和 B 列中。
問題是我們沒有在這些列表中獲得 UPC/EAN,因此需要比較產品名稱。
這些列表中的產品名稱通常完全不同,所有單詞的順序不同,並且經常有不同的單詞。例如,如果在兩個列表中找到相同的產品,則一個條目可以是“Hair Volumising shiny Shampoo 30ml”和其他可以是'Rose Aoe Shampoo 30ml Volumising Hair',它們是相同的產品,但名稱略有不同,順序完全不同。
我正在尋找一個能夠以任何順序識別部分匹配的公式(例如,這里將是“豐盈洗發水”)並告訴我它們在哪里。 這將需要從一列到另一列,例如從 B 到 A -“如果列 'a' 中有任何內容以任何順序以任何方式與 'B' 部分匹配”,然后標記它。
如果它可以以某種方式評價它的匹配程度,即可能從 1 到 100,那將是理想的,因為它可以按此列排序。
非常感謝您花時間閱讀本文
嘗試:
=ARRAYFORMULA(TRIM(TRANSPOSE(QUERY(QUERY(QUERY(SPLIT(TRANSPOSE(SPLIT(
QUERY(TRANSPOSE(QUERY(TRANSPOSE("♦"&ROW(A1:A)&" "&IFNA(REGEXEXTRACT(TO_TEXT(
IF(IFERROR(SPLIT(A1:A, " "))<>"", LOWER(SPLIT(A1:A, " ")), )),
TEXTJOIN("|", 1, SORT(TRANSPOSE(SPLIT(TEXTJOIN(" ", 1,
LOWER(B1:B)), " ")), 1, 0))))),,999^99)),,999^99), "♦")), " "),
"select max(Col2) group by Col2 pivot Col1"), "offset 1", 0),,999^99))))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.