根据花药表上的vlookup剥离子字符串

时间:2019-02-01 15:52:14

标签: excel vlookup

完全公开,关于excel公式,我是新手,但有编程经验,因此在开始使用语法之前,我将首先解释我需要的逻辑。

我想要在Excel工作簿中能有2张纸。工作表1是数据所在的位置。有一列遵循非常规范的命名约定,但是它们是它的基本名称。我想使用此值来填充第二列。

第2页将仅仅是输入基本名称以供功能参考的地方。

每个全名将以基本名开头。所以我想做些类似的事情:If Sheet1.FullName StartsWith Anything in Sheet2.Basenames Then Sheet1.BaseName = Sheet2.Bsename

一个c#脚本尽管没有经过修饰,但看起来像:

public class Sheet1Row
{
    public string FullName { get; set; }
    public string BaseName { get; set; }
}

public class Sheet2Row
{
    public string BaseName { get; set; }
}

public class Main
{
    public Main()
{
    List<Sheet1Row> sheet1 = new List<Sheet1Row>(){
        //row1
        //row2
        //row3
    };

    List<Sheet2Row> baseNames = new List<Sheet2Row>()
    {
        //BaseName1
        //BaseName2
        //BaseName3
    };

    foreach(var row in sheet1)
    {
        foreach(var name in baseNames)
        {
            if (row.FullName.StartsWith(name))
            {
                row.BaseName = name;
            }
        }

    }

    }
}

我在想类似子字符串的内容来搜索vlookup吗?

样本数据

数据

enter image description here

基本名称查找

enter image description here

1 个答案:

答案 0 :(得分:0)

可能有一种方法可以简化此过程,但这是一种方法:

如果您的基本名称列表在Sheet2上,则单元格A1:A5

enter image description here

然后在Sheet1中使用以下公式:

=INDEX(Sheet2!A:A,SUMPRODUCT(--ISNUMBER(SEARCH(Sheet2!$A$1:$A$5,A2)),ROW(Sheet2!$A$1:$A$5)))

enter image description here