簡體   English   中英

Google表格在多個訂單中查找多個單詞字符串中兩列之間的部分匹配

[英]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))))

0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM