我想基于另一列按顺序列出钻孔的列进行更新,更新需要替换序列中的一个字符,例如A = 0,B = 1,C = 2等。有没有办法写一个很大的IF / Then类型公式呢?
我尝试了替换公式,但是一次只能更新一个字母。
在下面的示例中;使用Hole_ID(P列)数据,可以得到所需的Hole_ID_2(R列)。
任何帮助,我们都会感激
答案 0 :(得分:1)
只要要替换的所有ID都具有相同的结构(长度为10个字符,并在位置8处替换字母),则可以使用ANSI
获得字母的CODE
代码,并然后将该代码计算为适当的数字。
这将避免许多嵌套的SUBSTITUTE
函数。
您的示例:
向下R3
的公式:
=LEFT(P3,7)&CODE(MID(P3,8,1))-65&RIGHT(P3,2)
答案 1 :(得分:0)
答案 2 :(得分:0)
只需给您另一个选择:
=SUBSTITUTE(RIGHT(P3,LEN(P3)-1),MID(P3,MID(1,ISERROR(VALUE(MID(RIGHT(P3,LEN(P3)-1),ROW(INDIRECT("1:"&LEN(P3))),1)))*1,0)+1,1),CODE(MID(P3,MATCH(1,ISERROR(VALUE(MID(RIGHT(P3,LEN(P3)-1),ROW(INDIRECT("1:"&LEN(P3))),)))*1,0)+1,1))-65)
它看起来有点吓人,但它只是替换了字符串中找到的第一个非数字字符,而不考虑第一个N
。它是一个数组公式,因此应这样输入!
它将变得更加动态,因为放置非数字字符无关紧要。