基于现有列在excel中创建新列
我在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
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的解决方案!它是第三和第四。还编辑了我的问题,是第三和第四题。还编辑了我的问题