簡體   English   中英

Excel 公式:如果單元格包含“...”,則根據首字母縮寫規則將“...”插入相鄰單元格

[英]Excel Formula: If cell contains “…”, then insert “…” into adjacent cell, based on acronym rules

我有一長串基於 SKU 的項目名稱,例如:

  • SKU = 商品名稱
  • TS = 男士 T 恤
  • PP = 男褲
  • PT = 普通口袋 T 恤
  • MS = 男士短褲
  • B = 拳擊手
  • BB = 平角內褲

如何根據 C 列中的 sku 在 B 列中生成項目名稱? 目前,我正在使用

=IF(ISNUMBER(SEARCH("...",C1)), "...")

視覺示例

這個公式有效,但是在每個單元格中手動輸入“B”和“Boxer”很繁瑣。 我該如何自動化呢?

我在這里找到了類似的東西,但我不知道如何對其進行逆向工程。

假設您有一個名為SKU結構化參考表,如下所示:

SKU 表

請注意,您必須按字母順序 (AZ) 對Code列進行排序。

假設您要根據 C 列中的 SKU 代碼返回 B 列中的產品名稱,在單元格B2中,輸入以下公式並將其向下拖動:

=LOOKUP(2,1/--ISNUMBER(SEARCH(SKU[Code],C2)),SKU[Name])

請看下面的演示:

結果表

這里的關鍵步驟是首先建立一個查找表,然后您將能夠根據 SKU 代碼查找產品名稱(使用SEARCH功能)。

================添加解決方案================

要解決在另一個產品代碼中包含產品代碼且未返回正確產品名稱的問題,請改用以下公式(假設您的所有產品代碼僅由字母組成,沒有任何數字):

=LOOKUP(LEFT(C2,MIN(IFERROR(FIND(ROW($1:$10)-1,C2),LEN(C2)))-1),SKU[Code],SKU[Name])

上面公式的關鍵是在每個文本字符串中查找產品代碼的結束位置,例如產品代碼在該文本字符串的第二個字符處結束PP416 ,以下公式將返回數字2表示:

=MIN(IFERROR(FIND(ROW($1:$10)-1,C2),LEN(C2))

然后您可以使用LEFT function 從文本字符串中提取產品代碼,並使用LOOKUP function 返回相應的產品描述。

第二種解決方案

如果您的 Excel 版本有XLOOKUP function,建議您將LOOKUP替換為XLOOKUP ,公式的 rest 不會改變。 您可以谷歌如何使用XLOOKUP因為它比LOOKUP更強大。

如果您有任何問題,請告訴我:)

暫無
暫無

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

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