我使用的是存储某些实体ID的软件,需要以非常具体的方式对其进行格式化。我会尝试尽可能具体。
每个单元格长度必须为6位数。
第一位数字可以是字母或数字。
第2,第3和第4位数字只能是数字。
第5和第6位只能是字母。
我有以下一些ID(以及我需要它们的样子)例如(代替 - 代替空格):
G11R(G-11R - ),J6R(J - 6R - ),I6AR(I - 6AR),1516B(1516B - ),414(-414 - )。
我甚至不知道从哪里开始这样的事情,我搜索了论坛,但我甚至都不确定你会称之为什么。
任何帮助,即使只是正确方向的一点,我们将不胜感激。
由于
答案 0 :(得分:0)
因为我想知道我是否可以用公式做到:
=LEFT(IF(OR(ISERROR(--LEFT(A1)),AGGREGATE(14,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)-AGGREGATE(15,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)=3),LEFT(A1)," ") &REPT(" ",MAX(2 - (AGGREGATE(14,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)-AGGREGATE(15,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)),0)) & RIGHT(MID(A1,AGGREGATE(15,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1),AGGREGATE(14,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)-AGGREGATE(15,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)+1),3) & MID(A1,AGGREGATE(14,6,ROW(INDIRECT("1:" & LEN(A1)))/(ISNUMBER(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))),1)+1,LEN(A1))&" ",6)
为了表明,我用-
替换了公式中的所有空格。