基于现有列在excel中创建新列

基于现有列在excel中创建新列,excel,excel-formula,excel-2010,vba,Excel,Excel Formula,Excel 2010,Vba,我在excel中有一列包含以下值 HostName ----- sa77.com ca77cded.com sa65yacd.com ca65zededs.com sa88y.com sa99ujk8.com 现在基于此,我想创建一个新列标记名,这样如果第一列有77,那么标记名应该是ABC,如果第一列有65,那么标记名应该是DCE,如果第一列有88,那么标记名应该是ZBA如果第一列有99,则标记名应为XYZ 主机名对于每个条目都可以有不同的大小。我需要比较主机名字符串的第3和第4个值 TagN

我在excel中有一列包含以下值

HostName
-----
sa77.com
ca77cded.com
sa65yacd.com
ca65zededs.com
sa88y.com
sa99ujk8.com
现在基于此,我想创建一个新列
标记名
,这样如果第一列有
77
,那么
标记名
应该是
ABC
,如果第一列有
65
,那么
标记名
应该是
DCE
,如果第一列有
88
,那么
标记名
应该是
ZBA
如果第一列有
99
,则
标记名
应为
XYZ

主机名对于每个条目都可以有不同的大小。我需要比较主机名字符串的第3和第4个值

TagName
-----
ABC
ABC
DCE
DCE
ZBA
XYZ
使用以下公式:

=INDEX({"ABC","DCE","ZBA","XYZ"},MATCH(MID(A2,3,2),{"77","65","88","99"},0))
使用以下公式:

=INDEX({"ABC","DCE","ZBA","XYZ"},MATCH(MID(A2,3,2),{"77","65","88","99"},0))

这里有一个简单的公式:

=IF(MID(A2,3,2)="77","ABC",IF(MID(A2,3,2)="65","DCE",IF(MID(A2,3,2)="88","ZBA",IF(MID(A2,3,2)="99","XYZ","Error"))))

下面是一个简单的公式:

=IF(MID(A2,3,2)="77","ABC",IF(MID(A2,3,2)="65","DCE",IF(MID(A2,3,2)="88","ZBA",IF(MID(A2,3,2)="99","XYZ","Error"))))

在一天的晚些时候,另一个选择是使用如下所示的查找结构


=LOOKUP(2,SEARCH(MID(A2,3,2),{65,77,88,99},1),{“DCE”,“ABC”,“ZBA”,“XYZ”})

在一天的晚些时候,另一个选择是使用如下的LOOKUP结构



=LOOKUP(2,SEARCH(MID(A2,3,2),{65,77,88,99},1),{DCE”,“ABC”,“ZBA”,“XYZ})

谢谢您的回复,实际上我还想检查
55
,而不仅仅是检查
77
。公式将如何寻找那一个仅仅是那三个?您应该通知读者您还有其他选项。@meallhour如果有任何更改,则此公式及其表更易于维护,而不是在嵌套的if.not中硬编码值来更改excel工作表。嵌套if似乎是正确的解决方案感谢您的回复,实际上我还想检查
55
,而不是只检查
77
。公式将如何寻找那一个仅仅是那三个?您应该通知读者您还有其他选项。@meallhour如果有任何更改,则此公式及其表更易于维护,而不是在嵌套的if.not中硬编码值来更改excel工作表。嵌套如果看起来是正确的解决方案Hi,则主机名可以为每个条目具有不同的大小。我已经编辑了我的问题。你能提供最新的配方吗。谢谢,我需要比较主机名的第四个和第五个值string@meallhour然后将所有的
RIGHT()
更改为相应的
MID()
函数。我尝试将其更改为
=IF(MID(A1,2,2)=“77”,“ABC”,“Error”)
但不起作用我继续将其更改为MID,但我更喜欢Scott的解决方案!您好,主机名对于每个条目都可以有不同的大小。我已经编辑了我的问题。你能提供最新的配方吗。谢谢,我需要比较主机名的第四个和第五个值string@meallhour然后将所有的
RIGHT()
更改为相应的
MID()
函数。我尝试将其更改为
=IF(MID(A1,2,2)=“77”,“ABC”,“Error”)
但不起作用我继续将其更改为MID,但我更喜欢Scott的解决方案!它是第三和第四。还编辑了我的问题,是第三和第四题。还编辑了我的问题